3

すべてのテキストがペルシア語である HTML コンテンツがあります。メソッド DOMDocument::loadHTML($html) でこのコンテンツを DOMDocument に渡し、何かを実行してから DOMDocument::saveHTML() で返したいのですが、文字の表示に問題があります :-( たとえばスクリプトファイルのエンコーディングを UTF-8 に変更しても動作しません。

<?php
$html = "<html><meta charset='utf-8' /> سلام</html>";

$doc = new DOMDocument('1.0', 'utf-8');
$doc->loadHTML($html);
print $html; // output : سلام
print $doc->saveHTML(); // output : سلام
print $doc->saveHTML($doc->documentElement); // output : Ø³ÙØ§Ù
?>

更新: 友人の指示に従って、私は $doc->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8')); を使用しました。そしてそれはうまくいきました!

4

2 に答える 2