0

好的,我有一个问题。有没有办法从它的唯一编号显示 Unicode 符号。例如。我有整数符号 (∫) & 它的 Unicode 数字 & HTML 代码分别是 'U+222B' 和 '& #8747;' 我可以通过打印如下 HTML 代码来显示符号。

echo "& #8747;"; //Displays Integral [∫] symbol if we remove space after Ampersand.

但是使用 Unicode 数字,我们可以达到同样的效果吗?因为在我的一个网站中,字符编码不正确。它只显示如下所示的 Unicode 数字。

%u03A8 %u0D24 etc.

请分享你的想法。提前致谢。

4

2 回答 2

1
%u03A8 %u0D24 etc.

这看起来像 JavaScriptwindow.escape()函数的输出。将您的 JavaScript 代码改为调用,并在必要时window.encodeURIComponent()使用在 PHP 端解码其输出。urldecode()

如果损坏的字符串已经存储在您的数据库中,您可以尝试使用类似于以下的代码来清理它们:

$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 );
于 2013-06-03T11:28:21.040 回答
0

不确定这是否适用于您的客户,但值得一试:

echo mb_convert_encoding('&#' . intval(0x0D24) . ';', 'UTF-8', 'HTML-ENTITIES');
于 2013-06-03T10:58:19.483 回答