CentOS 系统编码修改
因为要在Windows和Linux 上做跨平台的 c++ 开发, 一段时间后发现,在Windows 上显示的正常显示中文字符串, Linux上则乱码
查了资料发现是编译器Linux 系统编码的问题(默认为:UTF-8),为了是使Linux上显示正常编码,修改系统编码方式:
方法1:
修改语言文件
/etc/sysconfig/i18n
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
以上是把系统的默认字符集设置为GB2312.现在很多系统默认编码字符集是UTF-8。可以通过设置这个文件来改变系统的默认字符集。
方法2:
另外,也可在用户的环境变量或者用户的环境变量文件加入路径变量的声明:
在系统的预处理文件中声明,这样对整个系统起作用:
#vi /etc/profile
在文件尾加入
LC_ALL="zh_CN.GBK"
export LANG="zh_CN.GBK"
在用户的预处理文件中声明,对单独的用户起作用:
#vi /root/.bash_profile
在文件尾加入
export LC_ALL="zh_CN.GBK"
export LANG="zh_CN.GBK"
以上配置重新启动服务器使更改生效。
本文介绍了如何在Linux系统中修改系统编码,解决跨平台C++开发时中文显示乱码的问题。通过修改`/etc/sysconfig/i18n`文件或将`LC_ALL`和`LANG`设置为特定编码,可以确保Windows和Linux环境下中文字符正确显示。
5793

被折叠的 条评论
为什么被折叠?



