目前函数:不能正确转换 𪽼、𫗟 等字符
function utf8_str_to_unicode($utf8_str) {
$unicode = 0;
$unicode = (ord($utf8_str[0]) & 0x1F) << 12;
$unicode |= (ord($utf8_str[1]) & 0x3F) << 6;
$unicode |= (ord($utf8_str[2]) & 0x3F);
return strtoupper(dechex($unicode));
}
想要正确转换,如:
正确:𪽼 => 2AF7C
可以怎么写?
注:目前字符集 utf8mb4_unicode_520_ci
你这里的
𪽼 => 2AF7C
查表 看到2AF7C
是 UTF-32 里面的表示方式,那就用把字符串转成 UTF-32,然后再转成 hex 的形式。