RSS を読み込んで html に埋め込むプログラムを書いていたら 文字化けが発生。 mb_detect_encoding で調べると、xml parser にかける前は UTF-8 なのに、 出力は ASCII に。 改めてマニュアルを調べてみると、xml_parser_create() は 「もし(引数に)空の文字列が渡された場合、先頭の 3 あるいは 4 バイトの内容をもとにパーサがエンコーディングの判別を試みます。」 との事で、誤認識しているらしい。 ちゃんと、xml_parser_create('UTF-8') と文字コードを指定して解決。