PHP SimpleXML产生一些未知的编码
当我执行下面的代码时PHP SimpleXML产生一些未知的编码,php,simplexml,Php,Simplexml,当我执行下面的代码时 mysql_connect("localhost", "user", "pass") or die("Could not connect: " . mysql_error()); mysql_select_db("database"); mysql_query ("set character_set_results='utf8'"); $result = mysql_query("SELECT xxx"); while ($row = mysql_fetch_array(
mysql_connect("localhost", "user", "pass") or die("Could not connect: " . mysql_error());
mysql_select_db("database");
mysql_query ("set character_set_results='utf8'");
$result = mysql_query("SELECT xxx");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
$str = $row[0];
echo $str;
}
如果我检查来源(中文单词,UTF-8编码如下),我会得到下面的消息
但是,当我添加将SQL结果转换为XML文件的代码时,如下所示
LS23A300BS(23”LED顯示器)/ LS22A300BS(21.5”LED顯示器)
$dom = new domDocument;
$dom->formatOutput = true;
$root = $dom->appendChild($dom->createElement( "items" ));
$sxe = simplexml_import_dom($dom);
mysql_connect("localhost", "user", "pass") or die("Could not connect: " . mysql_error());
mysql_select_db("database");
mysql_query ("set character_set_results='utf8'");
$result = mysql_query("SELECT xxx");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
$item = $sxe->addChild("item");
$str = $row[0];
$item->addChild("desc", $str);
}
echo $sxe->asXML();
mysql_free_result($result);
LS23A300BS(23”LED顯示器)/ LS22A300BS(21.5”LED顯示器)
如果我检查来源(如下未知编码),我会得到下面的消息
我想问,未知编码的类型是什么?
如何将此未知编码更改回UTF-8 感谢您尝试两件事:
mysql\u查询('SET NAMES utf8')代码>而不是字符集\结果
。这将更多的关键MySQL设置设置设置为utf8
newDOMDocument('1.0','UTF-8')
这是一个旁白:这里根本不需要
DOMDocument
。尝试$sxe=simplexml\u load\u字符串(“”)代码>+1谢谢,通过将新domDocument
更改为新domDocument('1.0','UTF-8')
解决了问题。