我读取了一个带有simplexml_load_file()
函数的XML文件。我认为这个函数写得很好,并且正确地支持XML编码。我的XML文件是UTF-8格式的,即它包含普通的ANSI字符以及多字节编码的国家字符。
所以,现在我想用fopen()
和fwrite()
同样以UTF-8格式写回XML文件。
我应该执行一些转换来正确地执行吗?
假设变量$a
包含一些UTF-8编码。它写得正确吗?
如果您的xml真的已经在utf8中编码,那么simplexml生成的字符串也将是utf8。意思是——只需按原样将它们写入文件即可。
php与底层libxml的接口有点古怪。即使xml可能是utf8编码的,也要确保xml以正确的编码声明开头,否则可能会被误解。
<?xml version="1.0" encoding="UTF-8"?>