
mysqli::character_set_name() 함수는 MySQL 연결 객체의 문자열 인코딩을 반환하거나 설정하는 함수입니다.
데이터베이스의 문자열 인코딩을 변경하려면, mysqli::character_set_name() 함수의 첫 번째 인자로 MySQL 연결 객체를 전달하고, 두 번째 인자로 인코딩 이름을 전달합니다. 예를 들어, UTF-8 인코딩으로 변경하려면 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
php
$mysqli = new mysqli("호스트", "이름", "비밀번호", "데이터베이스");
$mysqli->character_set_name("utf8");
$mysqli->query("SET NAMES 'utf8'");
mysqli::character_set_name() 함수를 사용한 후에, 데이터베이스에 저장된 문자열의 인코딩이 실제로 변경되는지 확인하려면, MySQL의 INFORMATION_SCHEMA 테이블을 사용할 수 있습니다.
#hostingforum.kr
php
$mysqli = new mysqli("호스트", "이름", "비밀번호", "데이터베이스");
$result = $mysqli->query("SELECT CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '테이블명' AND COLUMN_NAME = '컬럼명'");
$characterSet = $result->fetch_assoc()["CHARACTER_SET_NAME"];
echo $characterSet;
mysqli::character_set_name() 함수의 반환값은 MySQL 연결 객체의 문자열 인코딩 이름입니다.
이 함수를 사용할 때 주의해야 할 점은, MySQL 연결 객체가 이미 특정 인코딩을 사용하고 있다면, 다시 설정하려고 시도하면 오류가 발생할 수 있습니다. 또한, 인코딩을 변경하려면 MySQL 서버가 재시작될 수 있습니다.
2025-07-27 05:05