首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP DOMDocument无法处理utf-8字符(☆)

PHP DOMDocument无法处理utf-8字符(☆)
EN

Stack Overflow用户
提问于 2012-07-03 18:40:47
回答 2查看 26.5K关注 0票数 54

set服务器以utf-8编码提供响应,所有文件都以utf-8编码保存,我所知道的所有设置都被设置为utf-8编码。

下面是一个快速程序,用于测试输出是否正常工作:

代码语言:javascript
复制
<?php
$html = <<<HTML
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Test!</title>
</head>
<body>
    <h1>☆ Hello ☆ World ☆</h1>
</body>
</html>
HTML;

$dom = new DOMDocument("1.0", "utf-8");
$dom->loadHTML($html);

header("Content-Type: text/html; charset=utf-8");
echo($dom->saveHTML());

该程序的输出为:

代码语言:javascript
复制
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>Test!</title></head><body>
    <h1>&acirc;&#152;&#134; Hello &acirc;&#152;&#134; World &acirc;&#152;&#134;</h1>
</body></html>

它呈现为:

?˜†Hello?˜†World?˜†

我能做错什么呢?要告诉DOMDocument正确处理utf-8,我还需要更具体些吗?

EN

回答 2

Stack Overflow用户

发布于 2013-06-05 12:55:03

有一个更快的解决方法,在DOMDocument中加载html文档后,你只需设置(或者更好地说是重置)原始编码。下面是一个示例代码:

代码语言:javascript
复制
$dom = new DOMDocument();
$dom->loadHTML('<?xml encoding="UTF-8">' . $html);

foreach ($dom->childNodes as $item)
    if ($item->nodeType == XML_PI_NODE)
        $dom->removeChild($item);
$dom->encoding = 'UTF-8'; // reset original encoding
票数 16
EN

Stack Overflow用户

发布于 2012-07-03 18:52:55

代码语言:javascript
复制
<?php
  header("Content-type: text/html; charset=utf-8");
  $html = <<<HTML
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Test!</title>
</head>
<body>
    <h1>☆ Hello ☆ World ☆</h1>
</body>
</html>
HTML;

  $html = mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8");
  $dom = new DOMDocument("1.0", "utf-8");
  $dom->loadHTML($html);

  header("Content-Type: text/html; charset=utf-8");
  echo($dom->saveHTML());

输出:

代码语言:javascript
复制
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>Test!</title></head><body>
    <h1>&#9734; Hello &#9734; World &#9734;</h1>
</body></html>
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11309194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档