windows Vista 64bitで mySQL ver14.14 for 32bit win を最近導入しました。
非常に初歩的なステップなのですが、テキストファイルからテーブルにデータを入れると文字化けが起こってしまい、困っています。
mysql> create database user_db ;
mysql> use user_db;
mysql> create table mytable(
-> name text,
-> sex text,
-> addr text
-> );
テキストファイル(input_data.txt)はutf-8、unix format(これは改行コードのことだと思います)で
abcd female amsterdam
efgh male detroit
ijkl male tokyo
というふうに作成し、
mysql> load data infile 'C:/input_data.txt'
-> into table mytable;
mysql> SELECT name,sex,addr FROM mytable;
とすると
+-------+------+-----+
|name___|sex___|addr_|
+-------+------+-----+
|???abcd|female|amsterdam
|efgh___|male__|detroit
|ijkl___|male__|tokyo
と一行目のデータのはじめの値の???部分がアルファベット以外の妙な文字3文字に置き換わります。 2行目3行目は問題ないようです。
文字コードの設定はconfig wizardでutf-8としており、
mysql>status
で
server characterset:utf-8
Db characterset:utf-8
Client characterset:utf-8
Conn. characterset:utf-8
と表示されます。
また、いろいろ試したところテキストエディタで入力ファイルをwindowsフォーマットで保存すると1行目に加え、2行目も文字化けするようです。
改行コードに関係することなのかもしれませんが、原因・解決方法がわかりません。
どなたか解決方法がわかりましたらアドバイスよろしくお願いします。
お礼
BOMというのは初めて知りました。 BOMの読み飛ばしという方向で調べてみます。 ありがとうございました。