积极答复者
【求助】:以utf8的编码方式写入文件

问题
-
环境:Visual Stdio 2010
问题:
1、现有的txt文件默认编码方式是ANSI,里面的内容是汉字,另存为UTF-8时 能正常显示汉字。
2、我用System.IO.File.WriteAllText("d:\1.txt", "", System.Text.Encoding.UTF8)这种方式新建了一个text文件,然后用Obj = fsObj3.OpenTextFile("d:\1.txt", IOMode.ForAppending) Obj.WriteLine("你好,你好,你还")这种方式连续写入,但生成的文件打开后全是乱码!
3、有没有什么好的方法新建txt文件后用UTF-8编码的方式写入文件呢?
答案
-
你好:)
就我所言,你可以在添加之前,先把一句话转化成UTF-8的Bytes,然后使用FileStream加入即可。示例代码:
System.IO.File.WriteAllText("d:\1.txt", "你好!", System.Text.Encoding.UTF8)
Dim fs As FileStream = File.Open("d:\1.txt", FileMode.Append)
fs.Write(Encoding.UTF8.GetBytes("你好!"), 0, Encoding.UTF8.GetBytes("你好!").Length)
fs.Close()
如果你有其它意见或私下交流,请直接发送maledong_work@foxmail.com;或者
下载MSDN桌面工具(Vista,Win7)
我的博客园
慈善点击,点击此处- 已建议为答案 Mike FengModerator 2011年11月9日 6:59
- 已标记为答案 Martin_XieModerator 2011年11月15日 10:03
全部回复
-
你好:)
就我所言,你可以在添加之前,先把一句话转化成UTF-8的Bytes,然后使用FileStream加入即可。示例代码:
System.IO.File.WriteAllText("d:\1.txt", "你好!", System.Text.Encoding.UTF8)
Dim fs As FileStream = File.Open("d:\1.txt", FileMode.Append)
fs.Write(Encoding.UTF8.GetBytes("你好!"), 0, Encoding.UTF8.GetBytes("你好!").Length)
fs.Close()
如果你有其它意见或私下交流,请直接发送maledong_work@foxmail.com;或者
下载MSDN桌面工具(Vista,Win7)
我的博客园
慈善点击,点击此处- 已建议为答案 Mike FengModerator 2011年11月9日 6:59
- 已标记为答案 Martin_XieModerator 2011年11月15日 10:03