>  Q&A  >  본문

php - '문자 집합 XXXX를 초기화할 수 없습니다'에 대한 해결 방법에 대한 지침을 찾고 있습니다.

저는 원래 thinkphp5를 사용하여 프로젝트를 작성했습니다. 이모티콘 문제를 해결하기 위해 데이터베이스 문자 집합은 당시 서버에서 잘 실행되던 utf8mb4를 사용했습니다. 최근 몇 가지 이유로 인해 전체 시스템을 새로운 서버로 이전해야 합니다. 하지만 원본 데이터베이스를 가져와 시스템을 배포한 후 실행하려고 했지만 프롬프트가 계속해서 나타났습니다 Can't initialize character set utf8mb4. .
내가 지금까지 시도한 몇 가지 시도(아직 다루지는 않았지만 다른 사람들이 몇 가지 아이디어에서 배울 수 있다고 생각합니다)

  1. PHP 시스템 데이터베이스 연결 정보를 확인하세요. 정상입니다

  2. 서버 버전을 확인해 보니 처음에 설치된 버전이 5.5.2였고, utf8mb4를 지원하는 mysql 버전은 5.5.3 이상이 필요하다는 것을 업그레이드 후에도 문제가 남아있습니다

  3. .
  4. utf8mb4를 연결의 기본 문자 집합으로 만들기 위해 수정my.cnf했지만(이 문서 참조) 문제는 남아있습니다

  5. mysql 클라이언트를 서버측에서 실행해 보세요SET NAMES utf8mb4, mysql 클라이언트에서는 성공적으로 실행되지만 문제는 남아있습니다

  6. 해당 라이브러리의 문자셋을 수정해 보았는데 문제가 남네요(근데 이게 쓸모없다고 느껴져서 접근보다는 연결에 놔둬야 한다고 제안)

위 방법을 시도해 보았지만 여전히 문제가 남아 있습니다. 안내가 있는지 모르겠네요?

PHP中文网PHP中文网2659일 전681

모든 응답(1)나는 대답할 것이다

  • 迷茫

    迷茫2017-06-13 09:23:30

    아직 버전 5.5를 사용하고 계시다면 다시 cmake를 하시거나 문자 집합 디렉터리를 지정하셔야 합니다. 이 문제에 대한 공식 문서: https://dev.mysql.com/doc/ref...

    회신하다
    0
  • 취소회신하다