현재 위치: > 최신 기사 목록> mysqli :: char

mysqli :: char

gitbox 2025-09-03

MySQL 데이터베이스를 사용하는 경우 문자 세트가 올바르게 설정되어 있는지 확인하는 것이 중요합니다. 문자 세트의 올바른 설정은 데이터베이스의 성능에 영향을 줄뿐만 아니라 특히 다국어 컨텐츠와 관련하여 데이터의 저장 및 읽기에 직접적인 영향을 미칩니다. 문자 세트가 올바르게 설정되지 않으면 코드, 데이터 손실 또는 데이터베이스 쿼리 오류가 발생할 수 있습니다.

PHP는 mysql 데이터베이스를 조작하기위한 mysqli 확장자를 제공하며 mysqli :: char 이 기사는이 두 가지 방법을 사용하여 데이터베이스의 문자 세트를 구성하는 방법을 자세히 설명합니다.

1. 캐릭터 세트는 무엇입니까?

문자 세트는 데이터베이스에 저장되고 표시된 문자 인코딩 규칙을 정의합니다. 일반적인 문자 세트에는 UTF8 , LATIN1 , UTF8MB4 등이 포함됩니다. UTF8UTF8MB4 는 다국어 문자 저장을 지원하지만 UTF8MB4는 더 많은 기호와 이모지를 지원하는보다 포괄적 인 문자 세트입니다.

2. mysqli :: select_db 데이터베이스 문자 세트를 설정합니다

MySQLI를 사용하여 데이터베이스에 연결 한 후 기본적으로 데이터베이스 연결은 MySQL 데이터베이스의 기본 문자 세트를 사용합니다. 데이터베이스 연결이 특정 문자 세트를 사용하는지 확인하려면 mysqli :: select_db 메소드를 사용할 수 있습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 연결을 만듭니다</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">mysqli</span></span><span>(</span><span><span class="hljs-string">"localhost"</span></span><span>, </span><span><span class="hljs-string">"username"</span></span><span>, </span><span><span class="hljs-string">"password"</span></span><span>, </span><span><span class="hljs-string">"database_name"</span></span><span>);

</span><span><span class="hljs-comment">// 연결이 성공했는지 확인하십시오</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;connect_error) {
    </span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"연결이 실패했습니다: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;connect_error);
}

</span><span><span class="hljs-comment">// 문자를 설정하십시오utf8</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">set_charset</span></span><span>(</span><span><span class="hljs-string">"utf8"</span></span><span>);

</span><span><span class="hljs-comment">// 데이터베이스를 선택하십시오</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">select_db</span></span><span>(</span><span><span class="hljs-string">"database_name"</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

위의 코드에서 Set_charset은 데이터베이스 연결이 UTF8 문자 세트를 채택하고 차량 코드 문제를 피하기 위해 문자 세트를 설정하는 데 사용됩니다.

3. mysqli :: 문자_set_name 현재 문자 세트를 가져옵니다

mysqli :: 문자_set_name 메소드는 현재 연결에서 사용하는 문자 세트를 얻는 데 사용됩니다. 이 방법은 특히 디버깅 할 때 필요한 문자 세트로 성공적으로 전환했음을 확인할 수 있습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 현재 데이터베이스 연결의 문자 세트를 가져옵니다</span></span><span>
</span><span><span class="hljs-variable">$current_charset</span></span><span> = </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">character_set_name</span></span><span>();

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"현재 문자 세트는입니다: "</span></span><span> . </span><span><span class="hljs-variable">$current_charset</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

현재 문자 세트가 UTF8 로 설정된 경우 위 코드가 출력됩니다.

 <span><span><span class="hljs-section">현재 문자 세트는입니다: utf8</span></span><span>
</span></span>

4. 데이터베이스 문자 세트 구성

PHP로 설정된 문자를 설정하는 것 외에도 데이터베이스와 테이블의 문자 세트 설정이 일관되어 있는지 확인해야합니다. 데이터베이스와 테이블 자체가 다른 문자 세트를 사용하는 경우, PHP로 설정된 문자를 설정하더라도 차량 코드를 완전히 피할 수는 없습니다.

4.1 데이터베이스를 만들 때 문자 세트 설정

 <span><span><span class="hljs-keyword">CREATE</span></span><span> DATABASE database_name </span><span><span class="hljs-type">CHARACTER</span></span><span> </span><span><span class="hljs-keyword">SET</span></span><span> utf8mb4 </span><span><span class="hljs-keyword">COLLATE</span></span><span> utf8mb4_unicode_ci;
</span></span>

4.2 테이블을 만들 때 문자 세트 설정

 <span><span><span class="hljs-keyword">CREATE</span></span><span> </span><span><span class="hljs-keyword">TABLE</span></span><span> table_name (
    id </span><span><span class="hljs-type">INT</span></span><span> AUTO_INCREMENT </span><span><span class="hljs-keyword">PRIMARY</span></span><span> KEY,
    name </span><span><span class="hljs-type">VARCHAR</span></span><span>(</span><span><span class="hljs-number">255</span></span><span>) </span><span><span class="hljs-keyword">NOT</span></span><span> </span><span><span class="hljs-keyword">NULL</span></span><span>
) </span><span><span class="hljs-type">CHARACTER</span></span><span> </span><span><span class="hljs-keyword">SET</span></span><span> utf8mb4 </span><span><span class="hljs-keyword">COLLATE</span></span><span> utf8mb4_unicode_ci;
</span></span>

4.3 기존 테이블의 문자 세트를 수정하십시오

 <span><span><span class="hljs-keyword">ALTER</span></span><span> </span><span><span class="hljs-keyword">TABLE</span></span><span> table_name </span><span><span class="hljs-keyword">CONVERT</span></span><span> </span><span><span class="hljs-keyword">TO</span></span><span> </span><span><span class="hljs-type">CHARACTER</span></span><span> </span><span><span class="hljs-keyword">SET</span></span><span> utf8mb4 </span><span><span class="hljs-keyword">COLLATE</span></span><span> utf8mb4_unicode_ci;
</span></span>

데이터베이스 및 테이블의 문자 세트 설정이 일관되게 보장 한 후에는 데이터베이스 작업이 더 안정적이며 문자 설정 불일치로 인해 데이터 손상을 피할 수 있습니다.

5. 요약

mysqli :: charac 올바른 문자 세트를 설정하면 데이터 스토리지의 호환성을 향상시킬뿐만 아니라 데이터베이스에서 읽은 데이터 사용자가 정확한지 확인할 수 있습니다.

실제 개발에서는 더 많은 문자와 기호를 지원하기 때문에 항상 UTF8MB4 문자 세트를 사용하는 것이 좋습니다. 특히 다국어 컨텐츠를 처리 할 때 일반적인 문자 세트 오류를 ​​효과적으로 피할 수 있습니다.