UTF-16 PHP 字符串转 UTF-8
UTF-16 PHP String to UTF-8
在使用 mcrypt_decrypt
成功解密 AES 密码后,我在变量 $str
上有一个字符串。如果我尝试将 str
打印到屏幕上,我确实注意到它在每个字母之间有一个空白 space,这实际上是由 UTF-16
字符编码给出的 NULL termination (\x00)
。
Array
(
[1] => 33
[2] => 0
[3] => 34
[4] => 0
[5] => 35
[6] => 0
...
)
我试过很多方法把它变成UTF-8
但我失败了。我能做什么?
你应该使用mb-convert-encoding函数
$str = mb_convert_encoding($str, "UTF-8" , "UTF-16LE");
在使用 mcrypt_decrypt
成功解密 AES 密码后,我在变量 $str
上有一个字符串。如果我尝试将 str
打印到屏幕上,我确实注意到它在每个字母之间有一个空白 space,这实际上是由 UTF-16
字符编码给出的 NULL termination (\x00)
。
Array
(
[1] => 33
[2] => 0
[3] => 34
[4] => 0
[5] => 35
[6] => 0
...
)
我试过很多方法把它变成UTF-8
但我失败了。我能做什么?
你应该使用mb-convert-encoding函数
$str = mb_convert_encoding($str, "UTF-8" , "UTF-16LE");