私は自分のプロジェクトにサードパーティの認証サービスを使用しています。このサービスは私の名前を次のように返します:u0438u0432u0430u043d、しかし私の名前は-иванです。エンコードされた値(u0438u0432u0430u043d)をphpでиванに変換するにはどうすればよいですか?ありがとう!
質問する
105 次
2 に答える
1
そこにUnicodeの16進シーケンスがあります-このようなものを適応させてみてください...
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 に答える