用WriteFile写文件时乱码

今天写一个小程序,向文件中写中文,但是始终是乱码,不知道为什么,google了一下,说是由于某些编辑器会往utf8文件中添加utf8标记而导致的结果。原文如下:

 

〓〓〓〓〓〓〓〓 

URL:http://xuliduo.javaeye.com/blog/199299

〓〓〓〓〓〓〓〓 

众所周知,在跨程序的工程中,统一编码是至关重要的,而目前最普遍的则是统一采用“utf8”编码方案。 
但是在采用utf8方案的时候,请注意编辑器的自作聪明。 
比如editplus。 
原因就在于某些编辑器会往utf8文件中添加utf8标记(editplus称其为签名),它会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM),它的表示的是 Unicode 标记(BOM)。 
因此要解决这个问题的关键就是把这个标记选项去掉。 

首先用editplus打开这个文件,从Doucument菜单中选择Permanet Settings,有三个分类,分别是General,File, Tools.点击File,右边会有一项是 UTF-8 signature: 选择 always remove signature. 点击OK 

中文版本的 editplus 下操作的菜单结构如下: 文档->参数设置->文件->UTF-8签名->总是移除签名->确定 

这样就设置了UTF-8格式不需要在文件前面加标记。 
最后把文件另存为utf-8格式就好了.

〓〓〓〓〓〓〓〓 

 

〓〓〓〓〓〓〓〓

方法一:字符转换。

详见:URL:http://www.cppblog.com/SpringSnow/archive/2009/02/09/73334.aspx

 

〓〓〓〓〓〓〓〓

方法二:

实际上,如果不是非得用ASCII, 其实。你不用转换也可以的,如果写宽字符只要在开头的时候写两个字节0xFF,0xFE不就成了Unicode,保证不带乱码的 。

你可能感兴趣的:(File,Google,url,文档)