ok &我有个问题。是否有任何方法显示Unicode符号从它的唯一数字。如。积分符号(∫)&它是Unicode码&HTML代码分别为'U+222B'和'&我可以像下面这样打印HTML代码来显示这个符号。
echo "& #8747;"; //Displays Integral [∫] symbol if we remove space after Ampersand.
但是有了Unicode编号,我们能达到同样的效果吗?因为在我的一个网站字符编码不正确。它只显示Unicode数字,如下所示。
%u03A8 %u0D24 etc.
请分享你的想法。
%u03A8 %u0D24 etc.
这看起来像JavaScript的window.escape()
函数的输出。将JavaScript代码改为调用window.encodeURIComponent()
,并在必要时使用urldecode()
在PHP端解码其输出。
如果损坏的字符串已经存储在数据库中,您可以尝试使用类似于下面的代码来清理它们:
$s = preg_replace_callback('/(?:%u[0-9A-F]{4})+/', function ($m) {
return mb_convert_encoding(
hex2bin(str_replace('%u', '', $m[0])), 'UTF-8', 'UTF-16BE');
}, $s );
不确定这是否适用于您的客户,但值得一试:
echo mb_convert_encoding('&#' . intval(0x0D24) . ';', 'UTF-8', 'HTML-ENTITIES');