mysql:817
From: "Y. Tsutsui" <"Y. Tsutsui" <tutui@xxxxxxxxxx>>
Date: 20 Apr 99 01:07:29 +0900
Subject: [mysql 00817] Re: Shift JIS での文字化け
堤井です。 >これは MySQL から直接テキストに次のように落としても >起こるのですが… > >% echo "select * from TABLENAME" | mysql DB_NAME > text.txt > >このテキストファイルを見ても同じように化けています。 >これも 「ソ」 が \ を含むからでしょうか。 kterm等の漢字表示可能な端末で環境変数LANGをja.JP_SJISとかにして (linuxはちょっと違った気が..) %mysql DB_NAME mysql>select * from TABLENAME; とかやっても化けているなら入力時の問題だと思います。 >また、他にも \ を含む文字があるんでしょうか。 「表」とかがそうです。私はいつも「漢字表示OK?」という文字列で テストしています。 >この問題の原因は、2バイト文字の中には \ が含まれる >ものがあって、\ は MySQL ではエスケープ文字なので PHPのエスケープ文字だと思います。 >たとえば 「ソルバ」 の場合は 「ル」の1バイト目が 「ソ」の2バイト目です。 >エスケープされてしまい、そこから1バイトずつずれてしまう >から、ということですよね。 > >もし MySQL のデータをテキストファイルに落としたいときには、 >\ の処理をしなければならないんですね。 落とすときは mysql> select * into outfile 'text.txt' from TABLENAME; でいけば、この間にmysqlが\エスケープを行うことはありません。 逆にデータを格納するときに mysql> load data infile 'text.txt' into table TABLENAME; なら文字化けも起こりません。 プレック研究所 システム開発室 堤井泰志 tutui@xxxxxxxxxx
-> 817 1999-04-20 01:07 ["Y. Tsutsui" <tutui@] Re: Shift JIS での文字化け 820 1999-04-20 01:32 ┗["ONDA, Takashi" <tak]