PHP:XML中的匈牙利字符


PHP: hungarian character in XML

我有一个生成XML结果的Web服务。

我一直在这个网站上工作到现在,因为在本地(在我的机器中)它以另一种方式工作,就像在服务器中一样。。。

服务器有英文操作系统,我的机器有匈牙利操作系统(win1250或iso-8859-2)。因此,我必须重新配置数据库访问(将客户端编码设置为utf),以保留匈牙利字符,如"õ"、"ü"。。。

现在输入正常,只有输出产生错误。。。

在英文服务器中,此代码因错误而中止:

$s = "'xf5t'xdb";
$doc = new DOMDocument('1.0', 'iso-8859-2');
$doc->formatOutput = true;
$m = $doc->createElement('package');
$doc->appendChild($m);
$n = $doc->createElement('Msg');
$m->appendChild($n);
$n->nodeValue = $s;
$xs = $doc->saveXML();
echo($xs);

错误是:

PHP Warning:  DOMDocument::saveXML() 
[<a href='domdocument.savexml'>domdocument.savexml</a>]: 
output conversion failed due to conv error, bytes 0xF5 0xDB 0x3C 0x2F

我不知道如何在输出中产生"õ"answers"ü"字符。

我可以给他们看:

$s = "'xf5t'xdb";
echo($s."<br>");

但是xml生成失败了,不管我使用SimpleXML还是Dom。。。

解决方案是什么?

感谢您的每一个想法:dd

如果您的数据使用utf8,难道不能生成utf8-xml而不是iso-8859-2吗?否则,您将不得不使用mb_convert_encoding()