我试着在vBulletin论坛上建立标签系统,它工作得很好。
但是我对文章的快速编辑(使用AJAX)有问题。
如果我写的字符是希伯来语,它将取代字符的Unicode。
当我用希伯来语写一篇文章时,就是这样的一个例子:
חחחחח לא?test!!它将变成这样:
%u05D7%u05D7%u05D7%u05D7%u05D7 %u05DC%u05D0?test!!发布于 2015-04-29 14:21:37
看起来,被弃用的javascipt函数escape()被用来对字符串进行编码。如果您正在通过JavaScript在网页中对此进行回音,您可以使用unescape() -参见这把小提琴。然而,如上文所述,这是不可取的。
应该使用的函数是encodeURIComponent()代替escape(),decodeURIComponent()代替unescape()。然后,如果这是必要的步骤,您可以在PHP中使用urldecode()来获得所需的结果。
根据当前的设置,要将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);https://stackoverflow.com/questions/29945275
复制相似问题