MySQL 데이터베이스를 사용할 때 특히 다국어 컨텐츠를 다루거나 이모티콘과 같은 특수 문자를 저장할 때 문자 세트 선택이 매우 중요합니다. MySQL은 다양한 문자 세트를 제공하며, 그중 UTF-8과 UTF-8MB4가 가장 일반적으로 사용됩니다. PHP의 MySQLI Extension을 통해 MySQLI :: get_charset 함수를 통해 현재 연결에 사용 된 문자 세트를 얻을 수 있으며 다른 요구를 지원하기 위해 적절한 문자 세트를 선택할 수 있습니다. 이 기사는 MySQLI :: get_charset 함수를 통해 UTF-8 및 UTF-8MB4 문자 세트를 지원하는 방법을 설명합니다.
먼저 UTF-8과 UTF-8MB4의 차이점을 이해해야합니다.
UTF-8 : 유니 코드 문자 세트의 모든 문자를 나타낼 수있는 가변 길이 문자 인코딩입니다. UTF-8은 1 ~ 4 바이트를 사용하여 문자를 인코딩하지만 4 바이트 문자 (예 : 이모티콘)를 지원하지 않습니다.
UTF-8MB4 : 4 바이트 문자를 지원하는 UTF-8의 변형이므로 이모티콘 및 기타 확장 된 유니 코드 문자를 올바르게 저장할 수 있습니다.
따라서 응용 프로그램에서 이모티콘 또는 기타 유니 코드 문자를 지원 해야하는 경우 UTF-8MB4를 사용해야합니다.
PHP에서는 mysqli :: get_charset 메소드를 사용하여 현재 MySQL 연결의 문자 세트를 얻을 수 있습니다. 먼저 MySQL 연결이 UTF-8 또는 UTF-8MB4를 사용할 수 있도록 올바르게 구성되어 있는지 확인하십시오.
<?php
// 만들다 MySQL 연결하다
$mysqli = new mysqli('localhost', 'username', 'password', 'database');
// 检查연결하다是否成功
if ($mysqli->connect_error) {
die("연결하다失败: " . $mysqli->connect_error);
}
// 获取当前연결하다的字符集
$current_charset = $mysqli->get_charset();
// 현재 문자 세트를 출력하십시오
echo "현재 문자 세트: " . $current_charset->charset;
// 关闭연결하다
$mysqli->close();
?>
이 예에서는 MySQL 데이터베이스에 대한 연결을 생성하고 get_charset 메소드를 사용하여 현재 연결의 문자 세트를 얻습니다. 출력 문자 세트 이름은 UTF-8 또는 UTF-8MB4가 현재 사용되는지 여부를 알려줍니다.
데이터베이스에 연결할 때 UTF-8 또는 UTF-8MB4를 사용하려면 SET_CHARSET 메소드를 통해 문자를 설정할 수 있습니다. 예를 들어, 다음 코드는 연결된 문자를 UTF-8MB4로 설정하는 방법을 보여줍니다.
<?php
// 만들다 MySQL 연결하다
$mysqli = new mysqli('localhost', 'username', 'password', 'database');
// 检查연결하다是否成功
if ($mysqli->connect_error) {
die("연결하다失败: " . $mysqli->connect_error);
}
// 문자를 설정하십시오 UTF-8mb4
if (!$mysqli->set_charset("utf8mb4")) {
echo "실수: 문자 세트를 설정할 수 없습니다:" . $mysqli->error;
} else {
echo "문자 세트가 설정됩니다: utf8mb4";
}
// 关闭연결하다
$mysqli->close();
?>
이 예에서는 set_charset ( "UTF8MB4") 메소드를 사용하여 MySQL 연결의 문자 세트를 UTF-8MB4에 설정합니다. 이러한 방식으로 연결이 더 많은 유니 코드 문자를 지원하는 UTF-8MB4 문자 세트를 사용하도록 할 수 있습니다.
UTF-8MB4 문자 세트는 더 넓은 범위의 문자 세트를 지원하지만 때로는 이전 버전의 MySQL 또는 PHP 환경에서 호환성 문제가 발생할 수 있습니다. 예를 들어, 일부 이전 MySQL 버전에서는 UTF-8MB4 문자 세트가 직접 지원되지 않을 수 있습니다. 이 경우 MySQL 업그레이드 또는 다른 문자 세트 설정 메소드를 사용하여 문자 저장소가 올바른지 확인할 수 있습니다.
mysqli :: get_charset 함수를 사용하면 현재 MySQL 연결의 문자 세트를 쉽게 얻을 수 있으며 필요에 따라 set_charset 메소드를 사용하여 설정된 적절한 문자를 선택할 수 있습니다. 더 넓은 범위의 유니 코드 문자 및 이모티콘을 지원하는 요구 사항의 경우 UTF-8MB4 문자 세트가 권장됩니다. 응용 프로그램에서 문자 세트가 올바르게 구성되어 있는지 확인하면 문자 인코딩 문제를 피하고 응용 프로그램 호환성 및 신뢰성을 향상시킬 수 있습니다.