tanaka's Programming Memo

プログラミングについてのメモ。

mac MySQL5.6 EUC インポートエラー

mysqlコマンドで、EUC-JPのデータをインポートしようとした際に、 Incorrect string value が発生して失敗した。

以下の手順で直ったようなので、メモしておく。

  • ターミナルから以下で、空のファイルを作成する
touch /usr/local/etc/my.cnf
[client]
default-character-set=eucjpms

[mysqld]
skip-character-set-client-handshake
character-set-server = eucjpms
collation-server = eucjpms_japanese_ci
init-connect = SET NAMES eucjpms

[mysqldump]
default-character-set=eucjpms

[mysql]
default-character-set=eucjpms
  • mysql.server restartで再起動する

# 現在の文字コードの確認方法

show variables like 'char%';
  • phpMyAdminでは変更が確認できない場合がある。phpMyAdminの照会順が原因の可能性もある。こちらの設定を変更する必要があるかもしれないが、さしあたり以上の手順で直った。

# 注意
テーブル作成のSQL内に書いてある「/*!40101 SET NAMES utf8 */;」は書き換えない。これは、このファイルのエンコードを示している。エクスポートしたSQLはutf8形式なので、ここをeucjsmsに書き換えてしまうと日本語のデフォルト値なのでエラーが発生する