我正在尝试将xml格式的字符串解析为DOMDocument。以下是我的代码:
mysql_connect("localhost", "MYUSERNAME", "MYPASSWORD") or die(mysql_error());
mysql_select_db("cmj_db") or die(mysql_error());
$data = mysql_query("SELECT article_id, html_data from articles where article_id=".$_GET["article_id"]) or die(mysql_error());
$dataArray = mysql_fetch_array($data);
echo 'article: ' . $dataArray['article_id'] . '<br />';
$doc = new DOMDocument;
$doc->loadXML(Encoding::toUTF8($dataArray['html_data']));我收到错误: Warning: DOMDocument::loadXML():输入不是正确的UTF-8,指示编码!字节: 0x96 0x20 0x6E 0x6F
其中包含一些特殊字符,因此我需要一个UTF编码。当我单独回显字符串时,字符看起来没有问题。值得注意的是,这是一个很长的连续转换过程。我从html编码中解开了许多字符,然后将其导入到mysql表中(使用utf-9字符集)。如何将此字符串转换为unicode,以便将其解析为XML?
谢谢
发布于 2013-08-13 08:15:08
你试过mb_convert_encoding()吗?mb_convert_encoding()
如果我没理解错的话,您的XML编码是UTF-9,而您需要UTF-8?
mb_convert_encoding($dataArray['html_data'], 'UTF-8', 'UTF-9')https://stackoverflow.com/questions/18195038
复制相似问题