Home > AMP

htmlentities函数导致中文乱码

再用 PHP Navigator 的时候,发现不能正常浏览中文字符。

它的代码很简单,因为我也能看懂了。最后定位到filestatus这个函数,它用来显示文件的一些属性。然后再找到显示文件名的地方,其实是个变量$filename:

$filename=wordwrap(htmlentities($file,ENT_QUOTES), 15, "
n",1);

然后再查阅php的手册,发现问题在htmlentities这个php函数上。它的第三个参数用来指定编码。因为默认的是ISO-8859-1 ,所以我修改成utf-8。
但是显示还是不太正常,一些字符还是乱码。这总比全是乱码好吧。
php还有个函数跟这个差不多htmlspecialchars,它只转换几个特殊的字符。
PHP Navigator 还有创建目录,修改文件名等地方还不支持汉字,我要修改一下。然后提交给他们,我也为开源项目做贡献了。等我修改完成了,我的php水平一定大涨!
2009-07-06:
哈哈,今天到PHP Navigator的网站上看了一下我的留言,他们居然回复了。由于E文水平低,不知道他们看懂了没有。
navphp

随机文章:

Tags: ,

发表评论