Mik*_*ike 1 php input character-encoding special-characters htmlspecialchars
htmlspecialchars()似乎正在将特殊字符转换为以下字符: āķūņūķī到它们各自的实体编号中:
ā ķ ū ņ ū ķ ī
有些仍未翻译,例如:
ZS
我希望htmlspecialchars()(或其他一些功能)不翻译这些字母类型的字符......所以它只翻译以下内容(因为它似乎在php.net手册上指出):
我需要这个的原因是因为在POST请求之后,我正在运行此用户输入,htmlspecialchars()然后将其放回到一组新的html输入中.诸如&,",",<,>之类的字符需要翻译,以免导致显示错误等.但我需要像' āķūņūķī ' 这样的特殊字符保持不变.否则用户会非常困惑.
将第三个参数设置为UTF-8:
echo htmlentities('???????', ENT_QUOTES, 'UTF-8');
Run Code Online (Sandbox Code Playgroud)
对于默认的编码htmlspecialchars是ISO-8859-1.
测试用例:
var_dump(htmlentities('???????'));
var_dump(htmlentities('???????', ENT_QUOTES, 'UTF-8'));
Run Code Online (Sandbox Code Playgroud)
输出:
string(84) "Ä?Ä·Å«Å?ūķī"
string(14) "???????"
Run Code Online (Sandbox Code Playgroud)