将unicode转换为字符

阿尔莫格

我尝试在vBulletin论坛中构建标记系统,并且工作正常。

但是我对帖子的快速编辑(使用AJAX)有疑问。

如果我用希伯来语书写字符,它将把字符替换为Unicode。

我用希伯来语撰写文章时的一个示例:

חחחחח לא?test!!

它将变成这样:

%u05D7%u05D7%u05D7%u05D7%u05D7 %u05DC%u05D0?test!!

似乎已使用不赞成使用的javascipt函数escape()对字符串进行编码。如果您通过JavaScript在网页中回显了此信息,则可以使用unescape()-看到这个小提琴但是,如上所述,已弃用此方法。

应改为使用的功能是encodeURIComponent()到位的escape(),并decodeURIComponent()代替unescape()然后,urldecode()如果这是必要的步骤,则可以在PHP内部使用以获取所需的结果。


在您当前的设置下,要将unicode字符转换为适合在浏览器中呈现的html实体,则应执行以下操作:

$str = preg_replace_callback('/%u([0-9a-fA-F]{4})/', function ($match) {
    return mb_convert_encoding(pack('H*', $match[1]), 'HTML-ENTITIES', 'UCS-2BE');
}, $str);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章