hlzxcjx 发表于 2011-7-5 09:52:55

[已解决]为什么FileReadLine读取xml文件是乱码?

本帖最后由 hlzxcjx 于 2011-7-9 20:10 编辑



为什么用FileReadLine读取上面的document.xml文件时中文显示乱码(不要说更改原文件!)?$file = FileOpen("document.xml", 0)

; Check if file opened for reading OK
If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
EndIf

; Read in lines of text until the EOF is reached
While 1
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
    MsgBox(0, "Line read:", $line)
Wend

FileClose($file)

水木子 发表于 2011-7-5 10:51:26

奇怪!我用你提供的代码和.xml没发现乱码啊!

hlzxcjx 发表于 2011-7-5 11:57:26

回复 2# 水木子


    奇怪,我的是乱码:

楼上风云 发表于 2011-7-5 12:51:54

是不是IE或系统等其他设置有问题啊?

xowen 发表于 2011-7-5 17:43:53

回复水木子


    奇怪,我的是乱码:
hlzxcjx 发表于 2011-7-5 11:57 http://www.autoitx.com/images/common/back.gif
xml需要保存为UTF-8格式才不会乱码

hlzxcjx 发表于 2011-7-6 17:09:45

本帖最后由 hlzxcjx 于 2011-7-6 17:32 编辑

回复 5# xowen


   好像应该是Ansi模式,但在不修改保存原文件的情况下有办法吗?

wjc826194 发表于 2011-7-7 03:27:21

尝试下用UTF-8打开

chinafla 发表于 2011-7-7 17:18:29

应该是编码问题 考虑统一一下编码

飘云 发表于 2011-7-7 19:41:00

本帖最后由 飘云 于 2011-7-7 19:43 编辑

我用了你提供的文件和代码后,未出现乱码现象
你上传的xml文件是UTF8无BOM编码,所以FileOpen打开文件时用256模式参数试试

hlzxcjx 发表于 2011-7-8 15:01:33

应该是版本的问题!我用的是autoit3.2.12.0 第一汉化版(支持Ansi的最后版本),改为最新版后显示正常!

powerofos 发表于 2011-7-8 21:55:06

我觉得是因为fileopen的参数选择问题~~

user3000 发表于 2011-7-9 06:06:42

路过,但学到新东西了!

喀喇喀喇 发表于 2011-7-9 10:47:52

我用了你提供的文件和代码后,未出现乱码现象
你上传的xml文件是UTF8无BOM编码,所以FileOpen打开文件时用 ...
飘云 发表于 2011-7-7 19:41 http://www.autoitx.com/images/common/back.gif


此方法正确
页: [1]
查看完整版本: [已解决]为什么FileReadLine读取xml文件是乱码?