如何在通过PHP创建的XML文件中正确显示ö字符?

时间:2011-03-14 19:55:21

标签: php xml utf-8 formatting character-encoding

  

可能重复:
  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("&", "&amp;", $row{'format'})."</format>";

感谢您的帮助!

2 个答案:

答案 0 :(得分:4)

在不知道数据库中的编码以及XML输出中需要的编码的情况下,很难具体,但iconv函数可能对转换很有用。

另外。您应该考虑使用XML DOM,而不是使用echo输出xml-as-plaintext。请查看示例Reading and writing the XML DOM with PHP 。如果你不这样做,你很可能最终会遇到xml输出的其他奇怪问题。

相信我,我去过那里。 : - )

答案 1 :(得分:-1)

通过htmlentities()传递从数据库中提取的数据应该这样做。它将“ö”更改为"&ouml;"

echo "<char>".htmlentities($row{'char'})."</char>";

The PHP Manual