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");