当我提交的AJAX后,是不是在英国,我会得到类似的东西,以%u4F60%u662F%u5982%u4F55%u505A%uFF1F
我能做些什么在PHP解决这一问题? 我试过utf8_decode
并不起作用。
我提交与AJAX的文本是否有帮助。
当我提交的AJAX后,是不是在英国,我会得到类似的东西,以%u4F60%u662F%u5982%u4F55%u505A%uFF1F
我能做些什么在PHP解决这一问题? 我试过utf8_decode
并不起作用。
我提交与AJAX的文本是否有帮助。
这是否你想要做什么?
<?php
function utf8_urldecode ($str) {
return urldecode(preg_replace_callback('/%u([0-9A-F]{4,6})/i', function($matches) {
$int = hexdec($matches[1]);
switch (TRUE) {
case $int < 0x80:
return pack('C*', $int & 0x7F);
case $int < 0x0800:
return pack('C*', (($int & 0x07C0) >> 6) | 0xC0, ($int & 0x3F) | 0x80);
case $int < 0x010000:
return pack('C*', (($int & 0xF000) >> 12) | 0xE0, (($int & 0x0FC0) >> 6) | 0x80, ($int & 0x3F) | 0x80);
case $int < 0x110000:
return pack('C*', (($int & 0x1C0000) >> 18) | 0xF0, (($int & 0x03F000) >> 12) | 0x80, (($int & 0x0FC0) >> 6) | 0x80, ($int & 0x3F) | 0x80);
default:
return $matches[0];
}
}, $str));
}
$str = "%u4F60%u662F%u5982%u4F55%u505A%uFF1F";
echo utf8_urldecode($str);
我从来没有尝试过的十六进制UTF-8代码点转换为二进制,结果发现,当你得到它周围你的头它实际上是很容易的。 当然,它还是可以在浏览器中显示的废话,这取决于人物其实都是 - 你可能需要安装语言包,以便正常渲染。