php - 「文字セット XXXX を初期化できません」の解決策に関するガイダンスを探しています
PHP中文网
PHP中文网 2017-06-13 09:21:30
0
1
740

私はもともと thinkphp5 を使用してプロジェクトを作成していましたが、絵文字の問題を解決するために、データベースの文字セットは当時サーバー上でうまく動作していた utf8mb4 を使用していました。最近、何らかの理由により、システム全体を新しいサーバーに移行する必要があります。ただし、元のデータベースをインポートしてシステムをデプロイした後、それを実行しようとしましたが、「Can'tInitializecharacter set utf8mb4」というメッセージが何度も表示されました。 。
これまでに私が行った試みのいくつか (私はまだ取り組んでいませんが、他の人はいくつかのアイデアから学ぶことができると思います)

  1. php システムのデータベース接続情報を確認してください。正常です。

  2. サーバーのバージョンを確認したところ、インストールされているバージョンは 5.5.2 であり、utf8mb4 をサポートする MySQL のバージョンには 5.5.3 以上が必要であることがわかりました。アップグレード後も問題は残ります。

  3. my.cnf を変更して、utf8mb4 を接続のデフォルトの文字セットにします (この記事を参照してください)。問題は残ります。

  4. サーバー側の mysql クライアント SET NAMES utf8mb4 を実行してみます。mysql クライアントでは正常に実行されますが、問題は残ります

  5. 対応するライブラリの文字セットを変更してみましたが、問題は残りました (しかし、これは無駄だと言わざるを得ません。これは、これを接続ではなく接続内で固定する必要があることを示唆しています)アクセス###)# #####

    上記のことを試しましたが、問題はまだ残っています。何か指導があるか分かりませんが?
PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(1)
迷茫

まだバージョン 5.5 を使用している場合は、cmake を再作成するか、文字セット ディレクトリを指定する必要があります。この問題に関する公式ドキュメント: https://dev.mysql.com/doc/ref...

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート