Я пытаюсь проанализировать HTML-код с помощью DOMDocument, но когда я это делаю, я внезапно теряю кодировку (по крайней мере, мне так кажется).
$profile = "
various japanese characters
";
$dom = new DOMDocument();
$dom->loadHTML($profile);
$divs = $dom->getElementsByTagName('div');
foreach ($divs as $div) {
echo $dom->saveHTML($div);
}
Результатом выполнения этого кода является набор символов, не являющихся японскими. Однако если я это сделаю:
echo $profile;
он отображается правильно. Я пробовал saveHTML и saveXML, но ни один из них не отображается правильно. Я использую PHP 5.3.
Что я вижу:
ã¤ãªãã¤å·ã·ã«ã´ã«ã¦ãã¢ã¤ã«ã©ã³ãç³»ã®å®¶åºã«ã9人åå¼ã®5çªç®ã¨ãã¦çã¾ãããå½¼ãå«ãã¦4人ã俳åªã«ãªã£ããç¶è¦ªã¯æ¨æã®ã»ã¼ã«ã¹ãã³ã§ãæ¯è¦ªã¯éµä¾¿å±ã®å®¢å®¤ä¿ã ã£ãã髿 ¡æä»£ã¯ãã£ãã£ã®ã¢ã«ãã¤ãã«å¤ãã¿ãæè²è³éãåããªããã«ããªãã¯ç³»ã®é«æ ¡ã¸é²å¦ã
Что следует показывать:
イリノイ州シカゴにて、アイルランド系の家庭に、9人兄弟の5番目として生まれる。彼を含めて4人が俳優になった。父親は木材のセールスマンで、母親は郵便局の客室係だった。高校時代はキャディのアルバイトに勤しみ、教育資金を受けながらカトリック系の高校へ進学
РЕДАКТИРОВАТЬ: я упростил код до пяти строк, чтобы вы могли проверить его самостоятельно.
$profile = "
イリノイ州シカゴにて、アイルランド系の家庭に、
";
$dom = new DOMDocument();
$dom->loadHTML($profile);
echo $dom->saveHTML();
echo $profile;
Вот возвращаемый HTML-код:
イリノイ州シカゴã«ã¦ã€ã‚¢ã‚¤ãƒ«ãƒ©ãƒ³ãƒ‰ç³»ã®å®¶åºã«ã€
イリノイ州シカゴにて、アイルランド系の家庭に、
Подробнее здесь: https://stackoverflow.com/questions/821 ... -correctly
PHP DOMDocument loadHTML неправильно кодирует UTF-8 ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение