c/c++中涉及中文编码问题的解决方法
2017-05-08 20:17
295 查看
使用c/c++读取中文内容的文档时,经常会出现因为编码问题,读取失败的问题。
比如某个文件的内容是中文的,但是其编码方式是cp936,这是如果使用fopen,就可能出现问题。
这里采用shell命令中的iconv方法,转换文档编码,将其转为utf-8,就可以实现中文内容的正确读取。
关于iconv的用法如下
iconv -f 源文件编码 -t 目标文件编码 -o 目标文件 源文件
这里需要主要的是,目标文件和源文件不能是同一个文件,我这里运行时出现了buss error
如果想进行in-place操作,可以用一个临时文件进行替换,再用比如mv命令重命名该临时文件为源文件名即可
这里有一个疑问,就是,如何自动知道源文件编码,实现自动化替换,有谁知道吗,求指导
比如某个文件的内容是中文的,但是其编码方式是cp936,这是如果使用fopen,就可能出现问题。
这里采用shell命令中的iconv方法,转换文档编码,将其转为utf-8,就可以实现中文内容的正确读取。
关于iconv的用法如下
iconv -f 源文件编码 -t 目标文件编码 -o 目标文件 源文件
这里需要主要的是,目标文件和源文件不能是同一个文件,我这里运行时出现了buss error
如果想进行in-place操作,可以用一个临时文件进行替换,再用比如mv命令重命名该临时文件为源文件名即可
这里有一个疑问,就是,如何自动知道源文件编码,实现自动化替换,有谁知道吗,求指导
相关文章推荐
- 深入Java中文编码乱码问题及最优解决方法
- (转)XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)(附带解决DHTMLX不能用在GB2312页面编码下的中文问题)
- JSP页面编码问题研究三(中文字符乱码问题的解决方法)
- 使用java mail 包收发中文邮件的编码,解码问题以及解决方法
- 中文乱码--MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总
- Sybase BCP导入数据时碰到中文编码问题的解决方法
- java和jsp中文编码问题的解决方法(ISO8859_1、GBK、UTF-8)(精品)
- java和jsp中文编码问题的解决方法(ISO8859_1、GBK、UTF-8)
- 【python】中文的输出,打印,文件编码问题解决方法
- 关于hibernate和jsp,以及中文编码问题的传统解决方法
- ruby 文件中文编码问题 导致passenger start错误的解决方法
- jsp+mysql文件上传下载方法比较(解决中文编码问题)
- 中文编码问题解决方法汇总
- MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结
- as3中的socket的readUTFBytes方法,它的UTF指的是UTF-8,只要服务器采用UTF-8编码,传输和修改中文的问题就能解决
- MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结
- 深入Java中文编码乱码问题及最优解决方法
- MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结
- MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结
- qt creator修改程序编码(解决中文乱码问题)的方法