>백엔드 개발 >PHP 튜토리얼 >MySQL 8의 '알 수 없는 문자 집합(255)'으로 인해 PHP PDO 연결이 실패하는 이유는 무엇입니까?

MySQL 8의 '알 수 없는 문자 집합(255)'으로 인해 PHP PDO 연결이 실패하는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-10 03:33:08891검색

Why Does My PHP PDO Connection Fail with

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.