やりたいこと
phpMyAdminにて、
文字セットがutf8mb4のフィールドに格納された4バイト文字を表示したり、
INSERT・UPDATEなどをしたい
** 環境**
MySQL : 5.6.17
phpMyAdmin : 3.3.0
試したこと、推測など
データベース・テーブル・フィールドの各文字セットが「utf8mb4」の状態です。
my.cnfの各種設定は「utf8」のままです。
その状態で、アプリ(PHPで開発、UTF-8指定、接続はutf8mb4)からINSERTやSELECTを行うと
4バイト文字も正しく処理されていますが、
phpMyAdminでは「?」に化けて表示されますし、INSERTを行おうとすると4バイト文字のみ「????」に化けます。
この挙動から推測するに、接続時の文字セットが「utf8」のままになっているのではないかと思います。
phpMyAdminからの接続時文字セットはトップページにある
「MySQL接続の照合順序」を変更すれば良いのではないかと思ったのですが、
これを「utf8mb4_general_ci」へ変更しても改善されません。
(再ログイン等行ってみても同様でした)
また、以下を実行すると
sql
1show variables like '%character%'
こうなります。
------------------------- -------------------------- character_set_client utf8 character_set_connection utf8mb4 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server utf8 character_set_system utf8 character_sets_dir /usr/share/mysql/charsets/ ------------------------- --------------------------
これは意図している通りなのですが、いずれかの変更が必須でしたらご指摘ください。
変更方法がそもそも違うのか、何か別の設定が必要なのか、もしくはバージョンが足りないのか…と思っています…。
あるいは全然別の原因の可能性もあるかもしれません。
作業環境の問題でサーバ側の設定やバージョンアップなどは気軽に試せない段階でして情報不足で申し訳ありませんが、
何かご存じの方がいらっしゃいましたらよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー