以下以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指输出文件编码. |
|
来自: ColonelLee > 《解决之道》