電子書籍の厳選無料作品が豊富!

過去の投稿も確認したんですが、理解できなかったので申し訳ありませんが、よろしくお願いします。
Perl5.8.2を使用しています。

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

UTF-8以外のHTMLメールの場合には問題なく表示できます。

どのような原因が考えられるのでしょうか?
よろしくお願いいたします。

A 回答 (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すると分かりやすいかもしれません)
    • good
    • 0

使ってるDBはなんですか?


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

この回答への補足

ご回答ありがとうございます。
回答いただけないと思っていました。

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

補足日時:2006/05/26 16:07
    • good
    • 0

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