请教php扩展库tidy不支持中文怎么解决。

Rain208 2011-08-17 10:42:33

$buffer = "<html>
<head>
<title>test</title>
</head>
<body>
<div>
<p>indent: 代码缩进,可选auto,yes,no,在php中,填auto将会被默认为yes,所以,此项在php中可分别用2,1,0来表示,2表示auto,1表示yes,0表示no不开启。wrap:换行,用0表示不换行。output-xhtml:输出xhtml格式文档。
</p>
</div>
</div>
</body>
</html>";

$outstr = tidy_repair_string($buffer, array("input-encoding"=>"utf8","output-encoding"=>"utf8"), "utf8");

echo $outstr;



这个是代码, 但是浏览器显示出来得时乱码
是不是tidy本身不支持中文,还是我哪个地方写错了呀。

请教大家了。
...全文
264 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rain208 2011-08-17
  • 打赏
  • 举报
回复
恩, 你这个也是对的。

本来我使用的是
$outstr = tidy_repair_string($buffer, array('input-encoding'=>'utf8','output-encoding"=>"utf8', 'char-encoding' => 'utf8'), "utf8");

不知道为什么显示的不对, 现在倒是可以的了,
可能是我没有注意把文件格式转换成UTF-8的
现在是可以的了。
第一次用这个东西,网上搜了一下,确实有价值的资料不是很多。
谢谢你了
乌镇程序员 2011-08-17
  • 打赏
  • 举报
回复
哦。。我脑子短路了。
把下面的代码保存为php文件,看看执行结果。(DTD、html代码全都去掉)

<?php
$buffer = "<html>
<head>
<title>test</title>
</head>
<body>
<div>
<p>indent: 代码缩进,可选auto,yes,no,在php中,填auto将会被默认为yes</p>
</div>
</div>
</body>
</html>";
$outstr = tidy_repair_string($buffer, array('output-xhtml' => true), 'utf8');
echo $outstr;
?>
Rain208 2011-08-17
  • 打赏
  • 举报
回复
等级不够,不能加分, 十分感谢
Rain208 2011-08-17
  • 打赏
  • 举报
回复


帅哥, 你太厉害了。 果然可以了。
十分感谢这么晚还在帮助我这样的新手,谢谢了。
乌镇程序员 2011-08-17
  • 打赏
  • 举报
回复
$outstr = tidy_repair_string($buffer, array('output-xhtml' => true), 'utf8'); //这样呢
Rain208 2011-08-17
  • 打赏
  • 举报
回复

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<?php
header("Content-Type: text/html; charset=utf8");
$buffer = "<html>
<head>
<title>test</title>
</head>
<body>
<div>
<p>indent: 代码缩进,可选auto,yes,no,在php中,填auto将会被默认为yes</p>
</div>
</div>
</body>
</html>";
$outstr = tidy_repair_string($buffer, array('char-encoding'=>'utf8'));
echo $outstr;
?>

</html>






这个是全部代码, 文件格式是UTF-8 无bom格式的。
结果还是乱码。 浏览器解释成utf8了。
不清楚为什么是乱码
Rain208 2011-08-17
  • 打赏
  • 举报
回复
我的php版本是5.2.17
开始的时候,没有装tidy, 这个是我刚刚安装上去的

如果没有中文, 显示结果正确,但是有中文后就不行了
不知道为什么
乌镇程序员 2011-08-17
  • 打赏
  • 举报
回复
补充,既然是指定utf8编码,那你的PHP文件是不是用utf8编码保存的?PHP文件head标签中有没有设置文档编码:
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
Rain208 2011-08-17
  • 打赏
  • 举报
回复


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>test</title>
</head>
<body>
<div>
<p>indent:
´úÂëËõ½ø£¬¿ÉÑ¡auto,yes,no£¬ÔÚphpÖУ¬Ìîauto½«»á±»Ä¬ÈÏΪyes,ËùÒÔ£¬´ËÏîÔÚphpÖпɷֱðÓÃ2,1,0À´±íʾ£¬2±íʾauto,1±íʾyes,0±íʾno²»¿ªÆô¡£wrap:»»ÐУ¬ÓÃ0±íʾ²»»»ÐС£output-xhtml£ºÊä³öxhtml¸ñʽÎĵµ¡£</p>
</div>
</body>
</html>






这个是运行后的结果
还是不行
乌镇程序员 2011-08-17
  • 打赏
  • 举报
回复
$outstr = tidy_repair_string($buffer, array('char-encoding' => 'utf8')); //抱歉,上面漏掉个括号
乌镇程序员 2011-08-17
  • 打赏
  • 举报
回复
$outstr = tidy_repair_string($buffer, array('char-encoding' => 'utf8'); //这样呢?
Rain208 2011-08-17
  • 打赏
  • 举报
回复
基于gcc的stm32环境搭建源码+文档说明.zip,个人经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做毕业设计的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业,代码资料完整,下载可用。 基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的stm32环境搭建源码+文档说明.zip基于gcc的

21,894

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧