현재 위치: > 최신 기사 목록> 데이터베이스에 연결 직후 현재 문자 세트를 감지하는 방법은 무엇입니까?

데이터베이스에 연결 직후 현재 문자 세트를 감지하는 방법은 무엇입니까?

M66 2025-05-26

PHP에서 MySQLI Extension은 MySQL 데이터베이스 조작 기능을 제공합니다. MySQLI를 사용하여 데이터베이스에 연결하면 기본적으로 문자 세트가 설정됩니다. 문자 세트는 데이터를 읽고 쓸 때 데이터베이스가 다른 문자를 처리하는 방법을 결정합니다. 데이터의 정확성을 보장하려면 문자 세트를보고 관리하는 것이 중요합니다.

이 기사는 MySQLI :: get_charset 함수를 사용하여 데이터베이스에 연결 직후 현재 데이터베이스 연결에서 사용한 문자를 보는 방법을 소개합니다.

1. 데이터베이스에 연결하십시오

먼저 MySQLI 클래스를 통해 MySQL 데이터베이스에 연결해야합니다. 데이터베이스의 호스트 이름, 사용자 이름, 비밀번호 및 데이터베이스 이름이 이미 있다고 가정합니다. 다음 코드를 사용하여 데이터베이스에 연결할 수 있습니다.

 <?php
$host = 'localhost'; // 데이터베이스 호스트
$user = 'root'; // 데이터베이스 사용자 이름
$password = ''; // 데이터베이스 비밀번호
$dbname = 'testdb'; // 데이터베이스 이름

// 새로운 것을 만듭니다mysqli물체,데이터베이스에 연결하십시오
$mysqli = new mysqli($host, $user, $password, $dbname);

// 연결이 성공했는지 확인하십시오
if ($mysqli->connect_error) {
    die('데이터베이스에 연결하지 못했습니다: ' . $mysqli->connect_error);
}
echo '데이터베이스 연결이 성공적입니다!';
?>

2. 문자 세트를 설정하십시오

데이터베이스에 연결 한 후 데이터의 올바른 인코딩을 보장하기 위해 문자 세트를 설정해야 할 수도 있습니다. 예를 들어, 더 많은 문자를 지원하는 유니 코드 문자 세트 인 UTF8MB4 로 설정된 문자를 설정할 수 있습니다. 다음 코드를 사용하여 문자 세트를 설정할 수 있습니다.

 <?php
// 문자를 설정하십시오utf8mb4
if (!$mysqli->set_charset("utf8mb4")) {
    printf("문자 세트를로드 할 수 없습니다 utf8mb4: %s\n", $mysqli->error);
    exit();
}
echo '문자 세트가 설정되었습니다utf8mb4';
?>

3. mysqli :: get_charset을 사용하여 현재 문자 세트를보십시오

문자 세트를 연결하고 설정 한 후 MySqli :: get_charset 메소드를 사용하여 현재 연결에 사용되는 문자 세트를 볼 수 있습니다. 이 메소드는 현재 문자 세트 정보가 포함 된 MySQLI_CHARCET 객체를 반환합니다. 객체의 숯불 속성에 액세스하여 문자 세트 이름을 얻을 수 있습니다.

 <?php
// 현재 중고 캐릭터 세트를 얻으십시오
$charset_info = $mysqli->get_charset();

// 현재 문자 세트를 출력하십시오
echo '현재 문자 세트는입니다: ' . $charset_info->charset;
?>

위 코드를 실행할 때 $ charset_info-> charset은 현재 연결에서 사용하는 문자 세트를 반환합니다. 이 전에 문자 세트를 설정 한 경우 UTF8MB4 와 같이 설정 한 문자 세트가 표시됩니다.

4. 코드 예제 완료

이전 단계를 모두 결합하면 최종 완전한 코드는 다음과 같습니다.

 <?php
$host = 'localhost'; // 데이터베이스 호스트
$user = 'root'; // 데이터베이스 사용자 이름
$password = ''; // 데이터베이스 비밀번호
$dbname = 'testdb'; // 데이터베이스 이름

// 새로운 것을 만듭니다mysqli물체,데이터베이스에 연결하십시오
$mysqli = new mysqli($host, $user, $password, $dbname);

// 연결이 성공했는지 확인하십시오
if ($mysqli->connect_error) {
    die('데이터베이스에 연결하지 못했습니다: ' . $mysqli->connect_error);
}
echo '데이터베이스 연결이 성공적입니다!<br>';

// 문자를 설정하십시오utf8mb4
if (!$mysqli->set_charset("utf8mb4")) {
    printf("문자 세트를로드 할 수 없습니다 utf8mb4: %s\n", $mysqli->error);
    exit();
}
echo '문자 세트가 설정되었습니다utf8mb4<br>';

// 현재 중고 캐릭터 세트를 얻으십시오
$charset_info = $mysqli->get_charset();

// 현재 문자 세트를 출력하십시오
echo '현재 문자 세트는입니다: ' . $charset_info->charset;
?>

5. 결론

mysqli :: get_charset 함수를 사용하여 데이터베이스 연결에서 사용하는 문자 세트를 쉽게 볼 수 있습니다. 문자 세트가 올바르게 설정되었는지 확인하는 것은 데이터를 피하고 데이터의 정확성을 보장하는 데 매우 중요합니다. 데이터베이스에 연결 직후에 세트를 확인하면 응용 프로그램이 다른 언어 및 문자 세트에서 데이터를 처리 할 수 ​​있는지 확인할 수 있습니다.