以下以fopen、fread和printf为参考,文件中包含汉字和字母(注意)
汉字 | Windows | Linux
-----------------------
1)ANSI | 正常 | 乱码
-----------------------
2)UTF-8 | 乱码 | 乱码
-----------------------
3)Unicode| 乱码 | 乱码
-----------------------
由于在Windows下汉字的默认编码是GB2312.当把文件拷贝到Linux就成为乱码,Linux默认的格式是UTF-8,故需要换。1
1、如果文件全部为汉字,直接使用gedit打开文件另存为GB2312格式即可;
2、如果文件包含汉字和字母,这种方法就不行了,这就是为什么上面2)在Linux下也是乱码.可以使用命令进行转换:iconv -f GB2312 -t UTF-8 原文件名 > 生成文件命名.
其中-f指原文件编码,-t指输出文件编码.