免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: astezheng
打印 上一主题 下一主题

linux+C,如何用指定编码写文件,例如zh_CN.GB18030 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-11-03 16:40 |只看该作者
原帖由 peidright 于 2009-11-3 16:28 发表


...................................................不用工具的话,就应该看编码规则吧。


问题是写成utf8是默认的,并没有和编码规则有关系啊
我觉得应该是系统设置的问题,但是没有查到啥结果

论坛徽章:
0
12 [报告]
发表于 2009-11-03 17:01 |只看该作者

回复 #7 astezheng 的帖子

这个东西跟写文件没有关系,写文件也就是 write( fd, buffer, len ); 不会做额外处理
关键在于buffer里面的东西是怎样生成的

论坛徽章:
0
13 [报告]
发表于 2009-11-03 17:48 |只看该作者
你写入的文字什么编码 最后就是什么编码的文件, 文件就是一个流。 至于这个流你自己搞成什么编码了只有你自己知道阿,不行就每次写入识别 转换一下, 这样显然不是最好的方案,
最好的方案是自己要明确一下自己的数据的编码格式, 另外对未知的对一些判断, 给你提供一个判断字符集的库,http://libibase.googlecode.com/files/libchardet-0.0.4.tar.gz

好像最新的libiconv 里有一个叫libcharset的独立库, 没注意看,好像也是用来干这活的。。。。。



原帖由 astezheng 于 2009-10-29 15:04 发表
linux下写文本文件,每次写完都是utf8的,请问怎么控制,才能写成GB18030呢

搞了好久,都没有一个明确的解决方案
谢谢了

论坛徽章:
0
14 [报告]
发表于 2009-11-04 09:45 |只看该作者

回复 #13 redor 的帖子

谢谢了,我看看

论坛徽章:
0
15 [报告]
发表于 2009-11-04 10:40 |只看该作者
vim

  1. :set encoding=utf-8
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP