我应该对字符串 'Garantie à vie' 进行任何编码转换还是 XMLWriter() 自动转换它?
XMLWriter
接受 PHP 中的 UTF-8 字符串输入,它会自动将其重新编码为输出编码(如果需要)。这种内部重新编码并不总是需要,因为 XML 的默认默认编码已经是 UTF-8。
字符串应该是 ISO-8859-1 还是 UTF-8?
字符串应该是 UTF-8 编码的。
示例(使用 UTF-8 编码的字符串;Demo):
<?php
/**
* About PHP XMLwriter() encoding input and output
*
* @link https://stackoverflow.com/a/19046825/367456
* @link https://eval.in/51120
*/
$xmlWriter = new XMLWriter();
$xmlWriter->openMemory();
$xmlWriter->startDocument('1.0', 'US-ASCII');
$xmlWriter->writeElement('garantie', 'Garantie à vie');
$xmlWriter->endDocument();
echo $xmlWriter->flush();
输出:
<?xml version="1.0" encoding="US-ASCII"?>
<garantie>Garantie à vie</garantie>
另见: