从 mysql 在 php 中创建 xml 的角色

Character creating xml in php from mysql

我的 php 文件使用 mysql 数据库中的数据创建 XML,我的数据库中有一些特殊字符,没有显示 properly.s

PHP代码:

http://sandbox.onlinephpfunctions.com/code/8faec4b8da5f2edc76e23ec4a40ac6e35e03f2bc

SQL Table 结构、数据和证明:

Link: https://dl-web.dropbox.com/get/Stack.png?_subject_uid=303112722&w=AADui4zBLmvS_ng879Kh5lPdveOE6dDIWC_obpzEZpUNRQ

请帮我解决这个问题,我已经通过 Whosebug 尝试了几件事,但没有一个奏效。

谢谢,

XMLWriter 是结果列表的标准 XML API - 就像数据库结果一样。它以线性方式工作,保持低内存使用率。

XML作者会根据需要处理转义。确保您已将数据库连接的编码设置为 utf-8。

$records = [
  [
    'questionid' => '1',
    'item' => 'one'
  ],
  [
    'questionid' => '2',
    'item' => 'two'
  ]
];

header('Content-type: text/xml; charset: utf-8');
$out = new XMLWriter();
$out->openURI('php://output');
$out->setIndent(true);
$out->startDocument('1.0', 'UTF-8');
$out->startElement('quiz');

while (list($key, $record) = each($records)) {
  $out->startElement('question');
  $out->writeAttribute('id', $record['questionid']);
  $out->writeElement('item', $record['item']);
  $out->endElement();
}

$out->endElement();

输出:

<?xml version="1.0" encoding="UTF-8"?>
<quiz>
 <question id="1">
  <item>one</item>
 </question>
 <question id="2">
  <item>two</item>
 </question>
</quiz>