
mysqli::character_set_name 함수의 반환값이 'utf8mb4' 인 경우, 한글이 제대로 출력되는 이유는 'utf8mb4'가 UTF-8의 확장 버전으로 한글을 포함한 모든 언어를 지원하기 때문입니다.
한글이 제대로 출력되지 않는 경우는 주로 데이터베이스의 문자셋과 PHP의 문자셋이 일치하지 않을 때 발생합니다.
해결 방법은 다음과 같습니다.
1. 데이터베이스의 문자셋을 'utf8mb4'로 설정합니다.
- MySQL에서 실행할 수 있는 명령어는 다음과 같습니다.
#hostingforum.kr
sql
ALTER DATABASE CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
2. PHP의 문자셋을 'utf8mb4'로 설정합니다.
- PHP의 경우, mysqli_connect 함수에서 charset 옵션을 사용하여 설정할 수 있습니다.
#hostingforum.kr
php
$conn = mysqli_connect('localhost', 'username', 'password', 'database', 3306, 'charset=utf8mb4');
3. PHP의 문자셋을 'utf8mb4'로 설정할 수 있는 방법은 charset 옵션을 사용하여 mysqli_set_charset 함수를 호출하는 것입니다.
- 예제는 다음과 같습니다.
#hostingforum.kr
php
$conn = mysqli_connect('localhost', 'username', 'password', 'database', 3306);
mysqli_set_charset($conn, 'utf8mb4');
2025-06-02 04:25