在High Performance MySQL 2nd上看到,load data infile在某些MySQL的版本上不支持指定导入时的字符集。这时,MySQL假设导入文件的字符集是character_set_database,这个变量根据当前数据库指定的字符集而变化,如果没有指定当前数据库,那么它的值由character_set_server决定。因此如果load data infile不支持指定字符集,那么在导入前需要确认当前数据库的字符集,如果不符,则使用set character_set_database = ... 更改。