PHP中的%问题

时间:2009-07-12 15:52:40

标签: php character-encoding

在POST参数中发送的“š”等字符和echo出现为%u015F - 现在我知道这是html unicode字符的十六进制值 - 即ş但我该如何转换这些?

我将字符集设置为UTF-8,并且我已经尝试了ISO字符集而没有运气。

谢谢!

2 个答案:

答案 0 :(得分:1)

htmlentities(urldecode($string))

答案 1 :(得分:0)

我从未见过客户端会发送%u015F而不是UTF-8编码的%C5%9F。但试试这个:

preg_replace('/%u([0-9a-fA-F]{2})([0-9a-fA-F]{2})/e', 'mb_convert_encoding("\x$1\x$2", \'UTF-8\', \'UTF-16BE\')', $str)