最近为了使用php往XML中写入中文
但是总是出现乱码
究其原因,是因为编码没有采用utf-8
虽然找到了原因,但是解决起来也是费了很多周折,找出问题花了不少时间,解决问题也花了不少时间
首先写入xml之后,发现采用notepad打开之后中文的地方总是乱码,然后再次写入,把notepad刷新一下,可以出现中文,但是仍然无法用浏览器打开,打开就报错。
如果写入英文或者数字则不会出现上述问题。
今天,在网上找到一个直接读写一个xml文件,然后再写入到另一个文件中,就不会出现上述问题,可以读写中文,不会出现乱码。详见上一篇博文《php读写XML文件》。当然我这儿将代码进行了修改,没有使用原来作者的代码。读者可以自行进行修改。
但是我们一定会对文件中的内容进行修改,在测试的过程中,按照下面的方法,仍然会出现了乱码
if($users->id == 'ST01')
$users->text='修改了的';
这样写完之后,打开xml文件,仍然是乱码,但是将其转换为utf-8或者用记事本打开就发现其是正常的。
所以确定是在写入文字的时候出现的乱码。于是搜索php如何将字符串转换为utf-8编码,
得到如下的内容,其中红色字样为解决我困扰了好几天的关键字样
====