• 締切済み

Unicode時の文字化け(過去にもありましたが・・・)

過去の投稿も確認したんですが、理解できなかったので申し訳ありませんが、よろしくお願いします。 Perl5.8.2を使用しています。 Perlでメールを読んでDBに格納→DBから一覧画面に表示という処理を Unicodeで作成しています。 Unicodeの変換はUnicode::Japaneseを使用していますが、 Outlookからテキストのメールを送った場合には、なんの問題も無く、 ブラウザで表示できるのですが、UTF-8で送った場合に半角との混在 文字(例えば『試験html』など)を送ると文字化けを起こします。 過去の投稿からUTF8フラグ(?)の影響かと思い、UTF8フラグをチェック してみたのですが双方とも付いていないようでした。 UTF-8以外のHTMLメールの場合には問題なく表示できます。 どのような原因が考えられるのでしょうか? よろしくお願いいたします。

みんなの回答

回答No.2

とりあえずすいません。もうわかりません。あとは普通の切り分けからデバグするくらいしか思いつかないのでとっくにやってる事を言ってる率高いですが。 DBに入れる際にUTF-8にしてるとして 1・普通(jis?)で送ったメールをUTF-8にエンコードしてDBとファイルに保存 2・UTF-8で送ったメールをDBとファイルに保存 3・1の奴をDBから取り出してファイルに保存 4・2の奴をDBから取り出してファイルに保存 1と2と3と4でファイルに保存した奴をdiff (保存時に全部unpackすると分かりやすいかもしれません)

回答No.1

使ってるDBはなんですか? 例えばmysqlだったらmysqlのDBで使う文字コードの設定なんかも原因になりそうな気がするようなしないようなですが。

papope
質問者

補足

ご回答ありがとうございます。 回答いただけないと思っていました。 使用DBはPostgreSQLで文字コードはUTF-8でCreateしています。 DB的には問題ないと思います。 漢字だけの場合などは、文字化けはしません。 1Byte文字(Unicode的に言うと0x0100以下の文字)混在させると 文字化けを起こしているようです。

関連するQ&A

専門家に質問してみよう