UTF-16 PHP字符串转换为UTF-8

3

我使用mcrypt_decrypt成功解密AES密码后,得到了一个存储在变量$str中的字符串。如果我尝试将str打印到屏幕上,我会注意到每个字母之间都有一个空格,实际上这是由UTF-16字符编码给出的NULL终止符(\x00)

数组 ( [1] => 33 [2] => 0 [3] => 34 [4] => 0 [5] => 35 [6] => 0 ... )

我已经尝试过多种方法将其转换为UTF-8,但均失败。我该怎么办?


你应该始终添加你已经尝试过的内容,以帮助我们帮助你 :D - undefined
你尝试过什么来进行转换?也许iconv函数能够帮助解决问题,参考链接:http://php.net/manual/de/function.iconv.php - undefined
1个回答

5

你应该使用mb-convert-encoding函数。

$str = mb_convert_encoding($str, "UTF-8" , "UTF-16LE");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接