アプリ版:「スタンプのみでお礼する」機能のリリースについて

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(これは改行コードのことだと思います)で
abcdfemaleamsterdam
efghmaledetroit
ijklmaletokyo
というふうに作成し、

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行目も文字化けするようです。

改行コードに関係することなのかもしれませんが、原因・解決方法がわかりません。

どなたか解決方法がわかりましたらアドバイスよろしくお願いします。

A 回答 (1件)

BOMがついてるんでしょう。


UTF-8なら先頭の3 bytesがEF BB BFなら読み飛ばすということで。
BOMの一覧は下記参照
http://en.wikipedia.org/wiki/Byte-order_mark
    • good
    • 0
この回答へのお礼

BOMというのは初めて知りました。
BOMの読み飛ばしという方向で調べてみます。

ありがとうございました。

お礼日時:2009/05/05 03:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!