JavaScriptを有効にしてください

【PHP】DOMDocument で発生する文字化けの対策方法

 ·  ☕ 1 分で読めます

【PHP】DOMDocument で発生する文字化けの対策方法

PHP DOMDocument を利用した際に発生する文字化けの対策方法です。

文字化けコード

1
2
$domDocument = new DOMDocument();
$domDocument->loadHTML($html);

原因

loadHtml は渡された文字列を ISO-8859-1 で解析するため。
PHP: DOMDocument::loadHTML - Manual

文字化け対策

文字化け対策は2種類あります。

1
2
# HTMLにエンコードをかける
$domDocument->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'));
1
2
# HTMLにエンコードの指定を付与
$domDocument->loadHTML('<?xml encoding="utf-8" ?>' . $html);

参考

共有

こぴぺたん
著者
こぴぺたん
Copy & Paste Engineer