我想处理日语页面,但会给出此字符错误。
<?php
$profile="<div><p>イリノイ州シカゴにて、アイルランド系の家庭に、9</p></div>";
$dom = new DomDocument();
$dom->loadHTML(mb_convert_encoding($profile, 'HTML-ENTITIES', 'UTF-8'));
$divs = $dom->getElementsByTagName('div');
foreach ($divs as $div) {
echo $dom->saveHTML($div);
}
//or
$dom->loadHTML('<?xml encoding="utf-8" ?>' . $profile);
?>
返回此值:
イリãƒã‚¤å·ã‚·ã‚«ã‚´ã«ã¦ã€ã‚¢ã‚¤ãƒ«ãƒ©ãƒ³ãƒ‰ç³»ã®å®¶åºã«ã€9
如何解决这个问题?
更新
我使用简单的 dom 解析器:
<?php
require_once("/simple_html_dom.php");
$html = str_get_html("<p>イリノイ州シカゴにて、アイルランド系の家庭に、9</p>");
echo $html->find('p', 0)->plaintext;
?>
返回 ã'¤ãƒªãƒã'¤å·ã'·'¦ã'''¦ã'¢ãƒ«ãƒ ンラ‰ç³»ã®å¶åºã®«ã€9
我认为您的 php 文件文本编码是 EUC。我只能通过 EUC 或 UTF-8 执行此程序。并且,UTF-8 没有字符编码错误。如果您安装了 NKF,请尝试运行。
-
检查字符编码
NKF --猜你的文件.php
-
更改字符编码
nkf -s ./yourfile.php> ./sjis.php
nkf -e ./yourfile.php> ./euc.php
nkf -w ./yourfile.php> ./utf8.php
nkf -j ./yourfile.php> ./jis.php -
那些尝试跑步
的人3-1. SJIS.phpPHP 通知: iconv(): 在 806 行的/var/www/simple_html_dom.php 的输入字符串中检测到非法字符
3-2. EUC.php
Υ ʕơ ɷϤβ l 9
3-3. UTF8.php
イリノイ州シカゴにて、アイルランド系の家庭に、9
3-4.php吉斯.php
PHP 警告:输入中的意外字符:第 3
行的/var/www/jis.php 中的 '' (ASCII=27) 状态=0 PHP 解析错误:语法错误,第 3
行/var/www/jis.php 中意外的"("
只是浏览器编码现在正在设置"iso-8859-1"。