Macにmysql入れてて日本語データの文字化けする場合の処方箋

大学の「データベース」の授業でmacbookMySql入れてデータベース作ったりいじったりしてるんだけど、そこで文字化けに悩んだのでメモ*1

本当は設定ファイルいじったりして根本的な解決策があるのかもしれないけど、面倒なので毎回このSQL文を実行してごまかしていますw

どうも外部ファイルから日本語が入ったtsvファイルからのLOAD DATA INFILEができない。そこで以下のようにしたらうまくいきました!

まずは、ターミナルからMySQLにログイン。次に以下のSQL文を実行。

SET CHARACTER SET utf8;
CREATE DATABASE Exercise default character set utf8;

これは僕はUTF-8が好きなので全部UTF-8に統一しちゃえ!という作戦です。
これで

USE Exercise;
CREATE TABLE Student (Student_ID CHAR(4) NOT NULL PRIMARY KEY,Student_name NCHAR(12),Entrance_year INT(4),Age INT(2) DEFAULT 18,Gender NCHAR(2),Birth_place NCHAR(10));
LOAD DATA INFILE '/Users/masa/student.tsv' INTO TABLE Student;

って感じでLOAD DATA INFILEしたらちゃんと入りましたっと。

それから日本語はちゃんとNCHAR型にしないとエラーになるっぽいです!CHARじゃだめよっ!!

*1:このメモは「こうすれば絶対できる」ではなくて、「僕はこうやったら出来たよ、よかったら参考にしてね」っていうメモです。