我的php文件使用mysql数据库中的数据创建XML,我的数据库中有一些特殊字符,没有正确显示。
PHP代码:
http://sandbox.onlinephpfunctions.com/code/8faec4b8da5f2edc76e23ec4a40ac6e35e03f2bc
SQL表结构,数据&证明:
请帮我解决这个问题,我已经完成了stackoverflow并尝试了几件事,没人工作。
谢谢,
答案 0 :(得分:0)
XMLWriter是结果列表的标准XML API - 就像数据库结果一样。它以线性方式工作,保持较低的内存使用率。
XMLWriter根据需要处理转义。确保已将数据库连接的编码设置为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>