simplexml_load_file で読んだテキストが文字化けする

SPECIAL


simplexml_load_file で読んだテキストが文字化けする

XML ファイルを XML ファイルを変数に取り込む で記したように simplexml_load_file 関数を使って読み込んだところ、日本語が次のように文字化けというか文字コードで読み込まれてしまうことがありました。

<link rel="index" href="/" title="&#x30C8;&#x30C3;&#x30D7;&#x30DA;&#x30FC;&#x30B8;"/>

これは、読み込む XML ファイルの冒頭の <?xml> の表記の中で、文字コードが指定されていないことが原因のようでした。

日本語としてちゃんと読み込まれるようにしたい場合には、読み込む XML ファイルの冒頭で、次のように "encode" 属性で文字コードを指定します。

<?xml version="1.0" encoding="UTF-8"?>

このような宣言をつけておくことで、日本語がそのまま(文字コードには変換されずに)取り込まれるようになりました。