当我从 opengraph 调用一些 facebook 信息时,我得到一些看起来像这样的名字。
\u0d94\u0db1\u0dca\u0dbd\u0dd2 \u0dc3\u0dd2\u0db1\u0dca\u0d9c\u0dca\u0dbd\u0dd2\u0dc2\u0dca
有没有办法使用 PHP 或 Javascript 将它们转换为可读的 unicode 字符?PHP是更优选的。谢谢
当我从 opengraph 调用一些 facebook 信息时,我得到一些看起来像这样的名字。
\u0d94\u0db1\u0dca\u0dbd\u0dd2 \u0dc3\u0dd2\u0db1\u0dca\u0d9c\u0dca\u0dbd\u0dd2\u0dc2\u0dca
有没有办法使用 PHP 或 Javascript 将它们转换为可读的 unicode 字符?PHP是更优选的。谢谢
使用json_decode()
:
$str = '\u0d94\u0db1\u0dca\u0dbd\u0dd2';
echo json_decode('"'.$str.'"'); // ඔන්ලි
以下代码允许您解码字符以及在必要时重新编码它们
if (!function_exists('codepoint_encode')) {
function codepoint_encode($str) {
return substr(json_encode($str), 1, -1);
}
}
if (!function_exists('codepoint_decode')) {
function codepoint_decode($str) {
return json_decode(sprintf('"%s"', $str));
}
}
header('Content-Type: text/html; charset=utf-8');
var_dump(codepoint_encode('ඔන්ලි'));
var_dump(codepoint_encode('සින්ග්ලිෂ්'));
var_dump(codepoint_decode('\u0d94\u0db1\u0dca\u0dbd\u0dd2'));
var_dump(codepoint_decode('\u0dc3\u0dd2\u0db1\u0dca\u0d9c\u0dca\u0dbd\u0dd2\u0dc2\u0dca'));
string(30) "\u0d94\u0db1\u0dca\u0dbd\u0dd2"
string(60) "\u0dc3\u0dd2\u0db1\u0dca\u0d9c\u0dca\u0dbd\u0dd2\u0dc2\u0dca"
string(15) "ඔන්ලි"
string(30) "සින්ග්ලිෂ්"