读写文件时编码问题(一点经验,提供给大家)
来源:岁月联盟
时间:2003-07-12
我检查了web.config文件中后发现我的选择是GB2312啊,没有问题。怎么回事呢?后来我发现web.config不控制文件读写部分功能。
于是查了MSDN,发现在StreamWriter对象中有一个Encoding方法,引起了我的注意,后来终于把问题解决了,下面是部分代码:
Dim f As New StreamWriter(Server.MapPath("tmpWord.smil"), False, System.Text.Encoding.GetEncoding("GB2312"), 512)
这样是简便的写法,直接在New的时候写参数,或者用f.Encoding
其中,Server.MapPath("tmpWord.smil")自然就是要写入文件的路径,False部分是用来表明是否保留原先的内容,如果True则保留,新的内容写入无效,如果False则覆盖原先的内容,System.Text.Encoding.GetEncoding("GB2312"), 是要得到需要用的编码格式,默认的编码格式是UTF-8,所以这里要写明我们要用到的GB2312,512是写入缓存的大小。
简单吧,千万不要被写入.TXT文件中文部分没问题所迷惑,因为微软想让它的UTF8格式成为通用的格式,而别的提供商却并不买它的帐