Php 让htmlspecialchars使用UTF-8作为默认字符集?

Php 让htmlspecialchars使用UTF-8作为默认字符集?,php,unicode,character-encoding,Php,Unicode,Character Encoding,有没有办法告诉PHP使用UTF-8作为像htmlspecialchars这样的函数的默认值 我已经说过: ini_set('mbstring.internal_encoding','UTF-8'); ini_set('mbstring.func_overload',7); 如果没有,请列出我需要指定字符集的所有函数 (我需要这个,因为我正在重新分解我的所有框架以使用UTF-8) 有没有办法告诉PHP使用UTF-8作为htmlspecialchars之类函数的默认值 没有,据我所知没有mbstr

有没有办法告诉PHP使用UTF-8作为像
htmlspecialchars
这样的函数的默认值

我已经说过:

ini_set('mbstring.internal_encoding','UTF-8');
ini_set('mbstring.func_overload',7);
如果没有,请列出我需要指定
字符集的所有函数

(我需要这个,因为我正在重新分解我的所有框架以使用UTF-8)

有没有办法告诉PHP使用UTF-8作为htmlspecialchars之类函数的默认值

没有,据我所知没有
mbstring。内部_编码
将仅为mb_*函数族定义默认编码

如果没有,请您发布一个我需要指定字符集的所有函数的列表


我不确定是否存在这样一个列表-如果有疑问,只需浏览手册并查看任何
charset
参数即可

只需使用
htmlspecialchars()
而不是
htmlentities()
。因为它不涉及非ASCII字符,所以不管您使用的是
'utf8'
字符集还是默认的
'latin1'
(*),结果都是一样的。作为奖励,您的输出更小。(尽管这确实意味着您必须确保使用正确的编码提供页面。)


(*:东亚有几个多字节字符集在使用ASCII码点时可能会有所不同,因此如果使用这些字符集,您仍然需要将
$charset
参数传递给
htmlspecialchars()
。但对于UTF-8肯定没有这样的问题。)

建议:编写自己的字符串清理方法。我使用了一个名为
strclean()
的函数,它基本上只调用
htmlspecialchars($str,entu QUOTES,'UTF-8')
trim()
。更少的输入,更多的控制你的输出,如果需要的话,很容易切换编码。我要这么做,问题是我必须重构我的框架中所有使用这些函数的东西,问题是我不知道这些功能是什么?这似乎是不可行的佩卡XD无论如何,我刚刚看到你在美国找工作,我真的祝你好运。