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')
    解决了问题。