将UTF-16编码的字符串解析为xml

时间:2011-11-14 14:14:49

标签: php xml utf-16

我有一个UTF-16编码的xmlstring,我想用php解析。 编码为UTF-8是不可能的,因为并非所有内容都可以在UTF-8

中表示

问题在于,当我尝试使用xml_parser_create("UTF-16")xml_parse_into_struct函数时,我收到一条关于UTF-16不受支持的消息。

我有什么选择?

3 个答案:

答案 0 :(得分:0)

您可以将UTF-16 XML字符串转换为UTF-8,如下所示:

mb_convert_encoding($yourstring, 'UTF-8', 'UTF-16')

http://www.php.net/manual/en/function.mb-convert-encoding.php

您可以获取该函数的输出,并将其与所有常用的XML函数一起使用,而不是。 UTF-16和UTF-8支持相同的字符......它们只是以不同的方式编码。

答案 1 :(得分:0)

有人编写并发布到php.net的UTF16解码功能可能会有所帮助,但不能保证。

http://us.php.net/manual/en/function.utf8-decode.php#49185

答案 2 :(得分:0)

要将UTF-16字符串XML转换为UTF-8,请使用以下代码:

mb_convert_encoding($ yourString,'' UTF-16',' UTF-8');