ホームページ  >  記事  >  バックエンド開発  >  thinkphp は「set names utf8mb4」を実行するとエラーを報告します

thinkphp は「set names utf8mb4」を実行するとエラーを報告します

WBOY
WBOYオリジナル
2016-10-11 14:23:192830ブラウズ

実行環境: sae + thinkphp
DB_CHARSET は utf8; (直接 utf8mb4 に設定するとエラーが報告されます。理由はわかりません...)
絵文字表現をサポートしたい場合のテストコードは次のとおりです
公開関数テスト(){

リーリー

エラーメッセージ: [SQL ステートメント]: 名前を utf8mb4 に設定します。
ご指導ください、ありがとうございます!

返信内容:

実行環境: sae + thinkphp
DB_CHARSET は utf8; (直接 utf8mb4 に設定するとエラーが報告されます。理由はわかりません...)
絵文字表現をサポートしたい場合のテストコードは次のとおりです
公開関数テスト(){

リーリー

エラーメッセージ: [SQL ステートメント]: 名前を utf8mb4 に設定します。
ご指導ください、ありがとうございます!

リーリー

Mysql::utf8mb4

1. mysql のバージョンを確認します。
Mysql 5.5.3 以降のバージョンでは、まず mysql サーバーをアップグレードする必要があります。
2. MySQL utf8mb4 文字セット
/etc/my.cnf を変更します

[クライアント]
デフォルト文字セット = utf8mb4

[mysql]
デフォルト文字セット = utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collat​​ion-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

MySQL サーバーを再起動し、文字セットを確認します

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。