
mysqli::character_set_name 함수는 MySQLi 객체의 현재 문자셋을 반환합니다. 이는 MySQL 서버의 default character set과는 별개로, MySQLi 객체의 문자셋을 의미합니다.
MySQL 서버의 default character set은 utf8로 설정되어 있지만, mysqli::character_set_name 함수를 사용하여 설정한 character set이 utf8mb4로 설정되어 있는 것은 일반적인 현상입니다. 이는 MySQLi 객체가 utf8mb4를 지원하기 때문입니다.
mysqli::character_set_name 함수를 사용하여 character set을 변경하는 방법은 없습니다. 이 함수는 현재 문자셋을 반환하기만 합니다.
query에서 character set을 변경할 수 있는 방법은 다음과 같습니다.
1. MySQL 서버의 default character set을 변경합니다. 이 방법은 MySQL 서버의 모든 객체에 영향을 주므로 주의가 필요합니다.
#hostingforum.kr
sql
ALTER DATABASE CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
2. MySQLi 객체의 문자셋을 변경합니다. 이 방법은 MySQLi 객체만 영향을 주므로 안전합니다.
#hostingforum.kr
php
$mysqli->character_set_name = 'utf8mb4';
위의 query를 실행할 때, character set이 변경된 것을 확인할 수 있는 방법은 다음과 같습니다.
1. MySQL 서버의 default character set을 변경한 경우
#hostingforum.kr
sql
SELECT @@character_set_database;
2. MySQLi 객체의 문자셋을 변경한 경우
#hostingforum.kr
php
echo $mysqli->character_set_name;
위의 예제를 통해 mysqli::character_set_name 함수를 사용하여 character set을 변경한 후, query에서 character set을 변경할 수 있는 방법을 확인할 수 있습니다.
2025-07-04 11:22