我正在为我的项目使用第三方授权服务。该服务返回我的名字是这样的:u0438u0432u0430u043d,但我的名字是 - иван。如何在 php 中将编码值 (u0438u0432u0430u043d) 转换为 иван?谢谢!
问问题
105 次
2 回答
1
你那里有 Unicode 十六进制序列 - 尝试适应这样的东西......
function decodeToUTF8($s) {
//turn udddd into an HTML entity
$s=preg_replace('/u(....)/', '&#x$1;', $s);
//turn entities into UTF-8
return html_entity_decode($s, ENT_COMPAT, 'utf-8');
}
于 2012-10-11T15:44:14.860 回答
-1
这是正确的解决方案:
protected static function decodeToUTF8($s) {
//turn udddd into an HTML entity
$s=preg_replace('/u([A-Fa-f0-9]{4})/', '&#x$1;', $s);
//turn entities into UTF-8
return html_entity_decode($s, ENT_COMPAT, 'utf-8');
}
于 2012-10-12T06:56:36.067 回答