人力検索はてな人力検索はてなモバイル版を表示しています。utf8モジュールの効果と文字化けについてPerl言語を活用しまして、外部サイトのRSSファイルを取得し、その取得したRSSの内容を当方のサイトに出力したいと思っております。RSSを取得するモジュールとして「XML::FeedPP」というモジュールを活用します。(http://www.kawa.net/works/perl/feedpp/feedpp.html)今回の質問はutf8モジュールを使用したときに特定の条件で文字化けがおきる理由が知りたいということです。以下に、RSSファイルを取得しサイトに出力する4つのケースを記述します。(すべてUTF8コード)ケース1、http://nichista.seesaa.net/image/case1.txtケース2、http://nichista.seesaa.net/image/case2.txtケース3、http://nichista.seesaa.net/image/case3.txtケース4、http://nichista.seesaa.net/image/case4.txtさて、途中の13行目から「#ケース1?4)」の部分を変更して複数の条件でプログラムを走らせます。上記の4つのケースのうち、「ケース3」のみ文字化けしてしまいます。「ケース3」だけこのような文字化け現象がおきるのでしょうか?この現象の理由を知りたく存じます。正常にキャラクタセットを認識できない場合があるため、httpヘッダーでもキャラクタセットを指定しておくほうがベターnagato-yukiさんのコメントご回答、及び追加コメントありがとうございます。外部読込みの場合は文字コードを関知せずに、そのままの形で取り込まれているのですね。結果、utf8モジュールを使用しutf8フラグを立てないままでは「ケース3」の場合、マルチバイトと認識せずにシングルバイトとして認識・出力されてしまう、ということが理解できました。わがままで恐縮ですが、もう少し詳しくご教授いただきたい部分がございます。ケース3では、”タイトル:”という文字列にフラグが立っているため、後のフラグなし変数をシングルバイト変換してしまうことが分かります。(ケース3)(半角英数)(日本語)にフラグが付くかどうかによって、後の(日本語を含む変数)にutf8モジュールがどのような判断をしているのでしょうか?度々の質問で申し訳ございませんが、お答えいただけると幸いです。関連質問PEARのXML_RSSについてので質問です。□はてなトップ(C)株式会社はてな。