特殊文字でいくつかの問題が発生しています。たとえば「ö」という文字を使用してサイトに登録しようとすると、次のエラー メッセージが表示されます。
1366 - Incorrect string value: '\xF6m' for column 'username' at row 1
insert into phpbb3_users (username, username_clean, user_password) values ('Ström', 'Ström', '$H$9iK6K37VoHM//')
文字設定が問題である可能性があることを理解しています。データベースを確認すると、いくつかのテーブルに照合があることがわかります。
latin1_swedish_ci
一部のテーブルには照合があります (たとえば、上記の例で問題が発生しているテーブル 'phpbb3_users'):
utf8_bin
そして、MySql の設定を確認すると、これらの設定が混在していることがわかります。
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci
- どの character_set を使用することをお勧めしますか? character_set を utf8mb4 に変更すると問題が解決することを知りましたが、MySql バージョン (5.1.4) はそれをサポートしていますか?
- character_set を変更する必要がありましたか? /etc/my.cnf およびすべてのテーブル照合のすべてのインスタンスで?
ありがとう。