Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:XML中的匈牙利字符_Php_Xml_Encoding_Character - Fatal编程技术网

PHP:XML中的匈牙利字符

PHP:XML中的匈牙利字符,php,xml,encoding,character,Php,Xml,Encoding,Character,我有一个生成XML结果的Web服务 我一直在这个网站上工作到现在,因为在本地(在我的机器上),它是以另一种方式在服务器上工作 服务器有英文操作系统,我的机器有匈牙利操作系统(win1250或iso-8859-2)。 所以我必须重新配置db访问(将客户端编码设置为utf)以保留匈牙利字符,如“ő”、“ű” 现在输入正常,只有输出产生错误 在英文服务器中,此代码在出现错误时中止: $s = "\xf5t\xdb"; $doc = new DOMDocument('1.0', 'iso-8859-2

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

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

服务器有英文操作系统,我的机器有匈牙利操作系统(win1250或iso-8859-2)。 所以我必须重新配置db访问(将客户端编码设置为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
PHP警告:DOMDocument::saveXML() []: 由于conv错误,输出转换失败,字节为0xF5 0xDB 0x3C 0x2F 我不知道如何在输出中生成“ő”和“ű”字符

我可以向他们展示:

$s = "\xf5t\xdb";
echo($s."<br>");
$s=“\xf5t\xdb”;
回声($s.“
”);
但是xml生成失败了,不管我使用SimpleXML还是Dom

解决办法是什么


感谢您的每一个想法:dd

如果您的数据使用utf8,您不能生成UTF8XML而不是iso-8859-2吗? 否则,您必须使用mb_convert_编码()