素のXAMPPだとMySQLで日本語がうまく扱えないみたいなので、CharesetをUTF8にします。

XAMPPのコントロールパネルからmy.iniを編集。

1
2
3
4
5
6
## UTF 8 Settings
#init-connect=\'SET NAMES utf8\'
#collation_server=utf8_unicode_ci
#character_set_server=utf8
#skip-character-set-client-handshake
#character_sets-dir="D:/xampp/mysql/share/charsets"

という箇所があったので、コメントを解除してみます。

1
2
3
4
5
6
# UTF 8 Settings
#init-connect=\'SET NAMES utf8\'
collation_server=utf8_unicode_ci
character_set_server=utf8
skip-character-set-client-handshake
character_sets-dir="D:/xampp/mysql/share/charsets"

保存して、MySQLを再起動します。

適当にテーブル作って日本語データをInsert Selectして「????」になってなかったらOKですかね。

init-connect=’SET NAMES utf8’ はダメ絶対

この設定つけると接続するときに

“Communication link failure: 1184 Aborted connection 15 to db”とか出て接続できません。

MySQLのログを見ると

[Warning] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ”SET NAMES utf8” at line 1

とかなってるので、つけないほうがいいみたいです。

2日悩んだ。