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でないと文字化けします。

もうね、信じられませんよ、こんな仕様・・。