可能重复:
php: using DomDocument whenever I try to write UTF-8 it writes the hexadecimal notation of it.
以下是一段代码:
echo "<char>".$row{'char'}."</char>";
row {'char'}从数据库中撤回德语字符ö。在PHP中,如何将其转换为正确的编码以在XML中正确使用?
是否有一个PHP函数可以根据需要将所有内容转换为正确的XML格式?或者我是否需要逐个字符地进行,如此?
echo "<format>".str_replace("&", "&", $row{'format'})."</format>";
感谢您的帮助!
答案 0 :(得分:4)
在不知道数据库中的编码以及XML输出中需要的编码的情况下,很难具体,但iconv函数可能对转换很有用。
另外。您应该考虑使用XML DOM,而不是使用echo
输出xml-as-plaintext。请查看示例Reading and writing the XML DOM with PHP
。如果你不这样做,你很可能最终会遇到xml输出的其他奇怪问题。
相信我,我去过那里。 : - )
答案 1 :(得分:-1)
通过htmlentities()传递从数据库中提取的数据应该这样做。它将“ö”更改为"ö"
。
echo "<char>".htmlentities($row{'char'})."</char>";