原因はデフォルト文字コードの設定
default-character-setが未指定(デフォルトlatin1)のためです。
latin1では日本語に対応していないため、日本語が文字化けしてしまいます。
そのため、character-setをの日本語に対応している「utf8」へ変更することで解消できます。
My.iniの設定、SQLからの設定変更で解決できましたので、備忘録的に残しておきます。
My.iniの設定
「my.ini」は、非表示の「ProgramData」フォルダに存在します。
C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
「#default-character-set」から「default-character-set=utf8」へ変更します。
文字コードの確認
MySQL 5.7 Command Line Client 起動
現在の文字コードは、次のコマンドで確認可能です。
1 |
show variables like 'character%'; |
日本語がINSERTできない場合
INSERT文に日本語を含めた場合に、登録エラーになることがあります。
その場合は、テーブル作成前もしくはINSERT前に次のSQLを実行すると解消されます。
1 2 |
set names utf8 collate utf8_general_ci; set character set utf8; |
コメント