load data コマンドの落とし穴
このコマンドは非常に厄介。何が厄介かというと、文字コード。
暗黙のうちに、データベースの文字コードと一致した文字コードを想定している。
つまり、
CREATE DATABASE `db` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
use db;
CREATE TABLE `t` ( name varchar(255) );
として、テーブルの文字コードもカラムの文字コードも、全部何もかもutf8で統一して、かつ、load data infile するファイルの内容もutf8でないと、文字化けする!
全て、何もかもutf8でないと文字化けします。
もうね、信じられませんよ、こんな仕様・・。