vbs如何实现中中英文字符串的比较.为什么vbs读取中文字符串出现乱码?

如题所述

set fso=createobject("scripting.filesystemobject")
set txt1=fso.opentextfile("1.txt",1)
cod1=txt1.readall
txt1.close
set txt2=fso.opentextfile("2.txt",1)
cod2=txt2.readall
txt2.close
if instr(cod2,cod1)>0 then
msgbox "找到了字符:"&cod1
end if

上源码测试可用。
同目录下新建两个文件“1.txt”、“2.txt”。“1.txt”写进搜索关键词“中国人”,“2.txt”写入内容“我是中国人,你好。”。
字符串比较不分什么文,只要你双引号里面的东西完全一样就相等。有一点点不同都不会相等。
有任何问题追问吧。追问

两个文件都UTF-8编码,最后运行还是一样的乱码。不过还是非常谢谢你。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-21
你这貌似是两个问题,第一个问题模糊不清,不知道你说的是怎么个比较法?

第二个问题,VBS默认读取的是ANSI格式,如果被读取的文件带有unicode字符或者是特殊编码格式,请用 adodb.stream 对象进行操作!追问

问题一:vbs如何实现中中英文字符串的比较
如:1.txt文件有“中国人”;2.txt文件也有“中国人”,怎样才能实现,通读取1.txt中文件的内容,然后在2.txt文件进行查找
问题二:为什么vbs读取中文字符串出现乱码?
Set stm = CreateObject("Adodb.Stream")
yy=stm.readtext
msgbox yy‘使用readtext只能一次读取多少个字符,但不能一次读取一行,小弟在此还请各位高手指教,在此表示感谢!

相似回答