C++ linux中文乱码
装好Ubuntu Kylin后,将windows代码拷贝到ubuntu下,发现如下问题
l 中文注释无法正常显示。
l 运行过程中,中文字符串比较失败。
百思不得骑姐。在查阅一番资料,多次测试后,确定这都是字符集的问题。
1. 中文注视无法正常显示
windows的默认编码方式是Ansi,而Ubuntu Kylin字符集默认是utf-8。字符集的不同直接导致ubuntu无法正常显示从widnows拷贝过来的中文。 有两种解决方式
Ø 将代码文件的编码方式转成utf-8,建议带上bom。很多工具都可以转换,比如记事本,EditPlus。
Ø 由于ANSI中文使用的是GB2312编码,让ubuntu支持GB2312。就可以正常显示中文。具体方法如下
1) 修改/var/lib/locales/supported.d/local文件,在文件中添加
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
2) sudo dpkg-reconfigure --forcelocales
然后在输出的结果中会出现
zh_CN.GB2312 done
zh_CN.GBK done
出现done就成功了
3) 用户的配置文件.profile中添加
export LANG=zh_CN.gbk
2. 中文字符串比较失败
有时候代码中需要与配置文件内的中文进行比较。当代码文件与配置文件的中文编码方式不一致时,就会出现比对失败。相同的中文进行对比居然不一样,这是编码方式在捣鬼。保证编码方式一致即可。
建议: 如果项目要跨平台,建议大家将代码文件的编码方式统一成UTF-8带bom。这样widnows和linux都可以识别。程序也就不会有那么多莫名其妙的问题。
备注:
Unicode:万国码,包含所有目前所有的文字及符号。他的编码方案包括UTF-8, UTF-16, UTF-32。一般unicode默认是utf-16。
UTF-8:多字节编码,用1-4个字节来描述字符
UTF-16:双字节编码,可能为2个字节或4个字节。
UTF-32:四字节编码, 用4个字节来表示字符。
ASCII:美国信息交换标准, 用于表示英文相关, 1个字节
ANSI:美国国家标准协会,第一个字节同ASCII,后面由各个国家自己补充。需要注意的是不同国家的ANSI不兼容。中文采用GB2312编码。
GB2312:中文编码方式,包含6763个汉字,以及其他一些符号。
GBK:GB2312的超集。 包含了古汉字、繁体等其他一些内容。
Bom头:用于标识文件编码方式,非必须
详细一些信息大家可以参考雪儿浅浅的博客,总结的很好 http://blog.sina.com.cn/s/blog_4aa887440101arks.html
C++ linux中文乱码相关推荐
- 解决Linux中文乱码
解决Linux中文乱码 方法一: 修改/root/.bash_profile文件,增加export LANG=zh_CN.GB18030 对于其他用户,也必须相应修改该文件 使用该方法时putt ...
- mysql linux 中文乱码怎么解决_如何解决mysql linux 中文乱码的问题
解决mysql linux中文乱码的方法: 1.查看mysql的默认字符集#mysql -u root - p #(输入密码) mysql> show variables like 'chara ...
- linux php 中文乱码解决,Linux中文乱码如何解决
刚开始使用Linux系统的时候,大家都会遇到一个问题,那就是终端输入命令回显的时候中文显示乱码.为什么会出现这样的问题呢?出现这样的问题,我们应该怎么去解决它好呢?有何解决方法?今天,小编就和大家说一 ...
- Linux中文乱码-word-pdf字体转换问题处理
Linux中文乱码-word-pdf字体转换问题处理 Linux下安装黑体和宋体 问题原因:Linux缺少中文字体库 黑体(simhei.ttf) 宋体(simsun.ttc) 1.在windows目 ...
- deepin linux中文乱码_Linux中文乱码如何解决?
刚开始使用Linux系统的时候,大家都会遇到一个问题,那就是终端输入命令回显的时候中文显示乱码.为什么会出现这样的问题呢?出现这样的问题,我们应该怎么去解决它好呢?有何解决方法?今天,小编就和大家说一 ...
- linux 接收中文数据乱码,linux中文乱码问题的解决方法
这篇文章给大家分享的是有关linux中文乱码问题的解决方法的内容.小编觉得挺实用的,因此分享给大家做个参考.一起跟随小编过来看看吧. Linux中文乱码的解决方法:比如当log4j乱码时我们可以通过找 ...
- 乱码 Linux,linux中文乱码【图文教程】
虽然电脑已经很普遍了,但是一些年长的人对电脑的操作不是很熟悉,比如在使用win7系统时一旦遇到linux中文乱码 时就懵了,对于linux中文乱码 处理起来相对来说较简单,按照我们的步骤处理linux ...
- Linux下部署php乱码,linux中文乱码问题如何解决
Linux中文乱码的解决方法:比如当log4j乱码时我们可以通过找到配置文件在里面设置字符编码为utf-8来,若linux未安装中文语言包可以安装中文语言包解决问题 经常会遇到很多Linux下的中文乱 ...
- Linux中文乱码问题终极解决方法
方法一: 修改/root/.bash_profile文件,增加export LANG=zh_CN.GB18030 该文件在用户目录下,对于其他用户,也必须相应修改该文件. 使用该方法时putty能显示 ...
- linux中文乱码问题及locale详解
一.修改系统默认语言及中文乱码问题 记录系统默认使用语言的文件是/etc/sysconfig/i18n,如果默认安装的是中文的系统,i18n的内容如下: LANG="zh_CN.UTF-8& ...
最新文章
- java插件化_Java插件化开发
- 初学者如何开发出一个高质量的J2EE系统
- 如何正确的使用微信公众号
- JAVA定义一个鲜花类_Java作业 题目:16版.情人节送玫瑰花
- python高级函数、将函数作为变量、返回函数_从函数外部返回变量名,作为python函数内部的字符串...
- RK3399pro Linux Rock-X AI组件库支持
- 【LOJ】#3088. 「GXOI / GZOI2019」旧词
- 让你的网页更精彩 - Javascript 调用MSAgent (转)
- 【高效开发插件】06 FEHelper 数据格式化
- 分享 :9个实用的Excel小技巧
- 世界海洋日|TcaplusDB与你一同保护海洋生物多样性
- Android 语音识别+语音搜索源码 Voice Search
- 政治冲刺押题所有“黑幕”!只用肖四肖八行吗?
- ntpdate离线安装
- 联手腾讯八百客CRM实现“本土化”弯道超车
- 三子棋——可修改为多子棋
- 翻转棋 dfs+模拟
- shell的一些一句话东西
- 美国计算机加音乐专业,美国留学:原来这就是传说中炫酷到炸裂的电子音乐制作专业...
- 黑白照片上色软件哪个好用?建议收藏这些软件