2010-01-27 121 views
5

我想知道是否有任何方法来定义htmlentities()的默认编码。我有一个很大的项目,使用htmlentities调用遍布整个地方,并且想知道是否有一种简单的方法可以使用简单的init_set这样简单的方法将它从ISO-8859-1设置为UTF-8作为默认字符编码。或者可能用一个单独的namespace声明。定义htmlentities的默认字符集()

做不到这一点,我也不会反对重命名并重写htmlentities功能总是使用Unicode,但我不愿任何东西作为古怪的PECL apd安装(对我来说)。

+1

为什么不使用htmlspecialchars? htmlentities转换的远远超过了你需要的HTML,并且由于这种方式,为什么不使用htmlspecialchars和UTF-8作品,它转换的字符都不会出现在多字节UTF-8字符的中间,这意味着严格来说,它只是假定ISO-8859-1并不重要。 – 2010-01-28 22:14:42

回答

8

由于手册页没有提到有关更改默认字符集的任何信息,我不认为有办法做到这一点;我不记得曾经见过这些。

我不会用任何东西像APD或者 - 相反,我可能会:

  • 创建自己的功能,只要有正确的参数
  • 和替换每次调用ヶ辆由调用ヶ辆打电话到我的新功能(这大概可以使用脚本几行自动完成)
0

@Pascal马丁的解决方案是绝对正确的,你也可以使用utf8-encode吨o将ISO-8859-1转换为UTF-8。

utf8_decode将UTF-8转换为ISO-8859-1。

+0

问题不在于字符串所在的字符集,它是如何处理它的。 – amphetamachine 2010-01-27 06:09:39