mysql:13746
From: YuGo <YuGo <yu.gotou@xxxxxxxxxx>>
Date: Thu, 22 Feb 2007 16:13:07 +0900
Subject: [mysql 13746] Re: mysqlimportでの文字化け
こんにちは。
1.クライアントのキャラクタセットとサーバーのキャラクタセットは違いますか?
mysql>SHOW VARIBLES LIKE 'char%' ;
の結果
character_set_client ?
character_set_database sjis
2.mysqlimportのオプションを変えてみる
--default-character-set=binary
3.16進数にして、どう置き換わったか調べる。
mysql> SELECT HEX('アイソテック') ;
mysql> SELECT HEX('アイャeック') ;
富士和電子 伊藤浩樹 wrote:
> 初級者 いとうと申します。
>
> mysqlimportにてCSVファイルをテーブルにインポートしています。
>
> 困ったことは有る特定の日本語一部が化けてしまい元データと違うデータとなっ
> てしまいます。cronを使った半自動化を考えており、load data infileを極力
> 使いたく無いのです。
>
> 解決へのヒントなど有りましたら、お手数ですが御指南頂きたいと思います。
>
> mysqlimport -u root --password=***** -d -v
> --fields-terminated-by=','
> --default-character-set=sjis
> --fields-enclosed-by='"'
> --ignore-lines=1 shukei /var/lib/mysql/BUSYOPF.CSV
> ****はパスワードを記載しています。
>
> 結果は
>
> Connecting to localhost
> Selecting database shukei
> Deleting the old data from table BUSYOPF
> Loading data from SERVER file: /var/lib/mysql/BUSYOPF.CSV into BUSYOPF
> shukei.BUSYOPF: Records: 300 Deleted: 0 Skipped: 0 Warnings: 0
> Disconnecting from localhost
>
> と問題がなさそうですが、データの表示をしてみると
>
> 正しい文字列 アイソテック
> インポート後の文字列 アイャeック
>
> となってしまいます。
>
> load data infileの場合はこのようなことは発生していません。
> mysql> load data infile './BUSYOPF.CSV'
> into table BUSYOPF
> fields terminated by ','
> enclosed by '"' ignore 1 lines;
>
>
> 実行環境は以下の通りです。
> OS FedoraCore4 mysql-4.1.19-1.FC4.1
>
> mysql Ver 14.7 Distrib 4.1.19, for redhat-linux-gnu (i386) using readline 4.3
>
> Connection id: 3
> Current database:
> Current user: root@localhost
> SSL: Not in use
> Current pager: stdout
> Using outfile: ''
> Using delimiter: ;
> Server version: 4.1.19
> Protocol version: 10
> Connection: Localhost via UNIX socket
> Server characterset: sjis
> Db characterset: sjis
> Client characterset: sjis
> Conn. characterset: sjis
> UNIX socket: /var/lib/mysql/mysql.sock
> Uptime: 22 sec
>
>
> my.cnf
>
> [mysqld]
> datadir=/var/lib/mysql
> socket=/var/lib/mysql/mysql.sock
> old_passwords=1
> port = 13306
> default-character-set=sjis
> skip-character-set-client-handshake
> [mysql.server]
> user=mysql
> basedir=/var/lib
> port = 13306
> [mysqld_safe]
> err-log=/var/log/mysqld.log
> pid-file=/var/run/mysqld/mysqld.pid
>
>
> よろしくお願いいたします。
>
>
>
13744 2007-02-22 15:21 [富士和電子 伊藤浩樹 ] mysqlimportでの文字化け 13745 2007-02-22 15:27 ┣[Tetsuro IKEDA <te.ik] 13747 2007-02-22 16:33 ┃┗[富士和電子 伊藤浩樹 ] 13749 2007-02-22 16:52 ┃ ┗[Tetsuro IKEDA <te.ik] 13760 2007-02-23 11:37 ┃ ┗[富士和電子 伊藤浩樹 ] -> 13746 2007-02-22 16:13 ┗[YuGo <yu.gotou@xxxxx] 13748 2007-02-22 16:43 ┗[富士和電子 伊藤浩樹 ] 13750 2007-02-22 16:57 ┣[富士和電子 伊藤浩樹 ] 13752 2007-02-22 18:06 ┃┗[YuGo <yu.gotou@xxxxx] 13751 2007-02-22 17:51 ┗[YuGo <yu.gotou@xxxxx]