プロが教える店舗&オフィスのセキュリティ対策術

レンタルサーバでphpMyAdminもレンタルしています。

csvファイルをインポートしているのですが、
どうやらちょっとずつ文字化けしているようです。

やっと分かったのは
【1】
「ソ」が「ャ」になり、「ソ」以降のカタカナが文字化けしています。
(ソがない場合は、上記ソ以降の文字はきちんと表示されます)
また、「予感」という字も「頼ェ」になっていました。
(テーブル数が少ない場合、上記の文字化けは起こりませんでした
 また、phpMyAdmin上で入力すると、きちんと表示されます)

【2】
また、データに「─」や「圭」が入っていると、「CSV 入力のフィールド数が不正です」
というエラーが発生します。

【3】
こちらは、phpで作ったフリーワード検索ですが、
POST送信した際、「メ」→「ƒ」、「ー」→「[」と変換されます。


インポートするカタカナは、全角カタカナしか使っていません。

─────────────────────
MySQL:
サーバのバージョン: 5.0.77-log
プロトコルバージョン: 10
MySQL の文字セット: UTF-8 Unicode (utf8)

Web サーバ
Apache
MySQL クライアントのバージョン: 5.0.45
PHP 拡張: mysqli
phpMyAdmin:バージョン 3.2.4-rc1
─────────────────────

文字コードはシフト-jisに統一しています。
(色々試しましたが、UTF・EUCでは、インポートした時点で主に「????」の文字化けが発生)


本当に行き詰ってしまい、テーブルデータなどを全て消して1から作り直したのですが…同じでした。
データ数が大変多いので、文字化けしているところを1つずつ直すというのはできません。


初歩的なミスなのかもしれませんが、思い当たらず質問をさせていただきました。
どなたかご存じの方がいらっしゃいましたら、ご教授お願い致します。

A 回答 (1件)

SQLにおいてSJISは天敵ですね。


「ソ」は5C問題の代表格です。

ソがでてきたときに無理やりエスケープするか、SJIS以外のコードでプログラムを
処理するですね。

この回答への補足

ありがとうございます!!

ついでで申し訳ないのですが、EUCの場合、インポートすると日本語の部分が全部消えてしまうのですが、ご存じではないですか?

補足日時:2011/01/14 17:36
    • good
    • 0
この回答へのお礼

UTF8で統一し、解決しました!!!!

ご回答、感謝いたします!!

お礼日時:2011/01/14 22:39

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