PDO 오류: MySQL 서버의 알 수 없는 문자 집합(255)
MySQL 데이터베이스에 연결할 때 개발자는 다음 오류가 발생할 수 있습니다. PDO::__construct(): 서버가 클라이언트에 알 수 없는 문자 세트(255)를 보냈습니다. 개발자에게 보고하십시오." 이는 Docker 컨테이너 및 Symfony 애플리케이션과 관련된 상황에서 발생할 수 있습니다.
원인:
MySQL 버전 8에서는 기본 문자 집합이 utf8mb4로 수정되는 변경 사항을 도입했습니다. 그러나 특정 PHP 버전과 같은 일부 클라이언트는 이 문자 집합을 인식하지 못합니다. 서버가 기본 문자 집합을 클라이언트에 전달할 때 클라이언트의 이해 부족으로 인해 오류가 발생합니다.
해결책:
이상적인 해결 방법은 클라이언트를 다음으로 업그레이드하는 것입니다. utf8mb4를 지원하는 것. 호환성을 위해 아래와 같이 서버의 문자 집합을 utf8로 조정할 수 있습니다.
1단계: MySQL 서버 구성 편집
다음 줄을 추가합니다. /etc/my.cnf 및 MySQL 다시 시작:
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8
2단계: 다시 시작 MySQL
변경 사항을 적용하려면 MySQL을 다시 시작하세요.
service mysql restart
이 수정을 통해 utf8mb4를 지원하지 않는 이전 클라이언트와의 호환성이 보장됩니다.
위 내용은 MySQL 8의 '알 수 없는 문자 집합(255)'으로 인해 PHP PDO 연결이 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!