急呀,在线等!!!VB昨天自己弄了一天都没能解决的问题,怎样手动改成自动

来源:百度知道 编辑:UC知道 时间:2024/06/05 12:19:24
Open "c:\aaa.kml" For Output As #1
Print #1, "<?xml version=""1.0"" encoding=""utf-8""?>"
以下省略```````````````````````
我在vb中保存方式是utf-8,但生成的KML文件在google earth找开,中文变成乱码,要"手动"将生成的aaa.kml文件用记事本方式打开,然后另存为,编码方式选 utf-8,或unicode后直接覆盖原文件,才能在google earth正常显示中文,是不是Print #1, "<?xml version=""1.0"" encoding=""utf-8""?>" 这条语句有问题呀???
问题就是怎样改变编码方式?下面那种方法可行呢?
a.在vb输出文件时直接用语句改变编码方式,有这样的语句吗???好心人举个例呀
b.生成的文件用 Shell "c:\windows\notepad.exe", 1
然后用notepad.exe打开aaa.kml,然后用另存为方式,选择编成方式为utf-8或unicode 用vb语句怎样实现吗?每次都要手动好辛苦呀,而且文件不只一个呀,是批量呀,谁能帮帮我呀~~~~
我vb不太懂,望大家帮我解决下呀,我一直给这个问题卡住了,自己昨天在网上找了一天也弄不好,55555555~~~~

你的思路没有对哈
Open "c:\aaa.kml" For Output As #1
Print #1, "<?xml version=""1.0"" encoding=""utf-8""?>"
这一句根本就不是对保存格式做要求,而只是写了<?xml version="1.0" encoding="utf-8"?>" 这样一个字符串到文本文件中;
在网上查了查,好像的确没什么这方面的问题解答,于是花了点时间来研究;
下面这些语句可以解决你的问题:
首先,你要引用VB的ADODB控件,然后用下面的语句:
dim obj as object
set obj as new adodb.stream
with obj
.open
.charset="UTF-8"
.position=.size
.writetext "这里可以是你想要保存的内容!"
.saveToFile "D:\aaa.kml",1
.close
end with
set obj=nothing

OK,这样,aaa.kml就是UTF-8的格式了!!!!如果还有问题, 再来问我啊。。