前段时间在服务器上安装了centos6.2版本,当初安装时语言选择英文。这本来也没有什么问题,直到前一段时间。我的同事发现部署的web项目中出现乱码情况。但中文作为参数进行传递到下一个页面的时候就乱码,而这个项目从一开始开发都是基于utf-8编码进行开发的。因此,很明确是服务器的编码与web项目的编码不匹配,不支持中文编码导致的结果。

我本来很正常的按照网上资料进行逐步骤进行配置操作,修改/etc/sysconfig/i18n 进行设置Lang=“zh-CN:UTF-8” , 在/etc/.bash_profile和,/etc/profile中export Lang="zh-CN:UTF-8",并进行重启,但就是无法解决终端乱码和web项目乱码问题。这个问题一直困扰了好几天。网络上的配置文章看起来都差不多内容,问周边同事也不得要领,真是郁闷。

今天,我突然想起,应该查看一下是否安装了字体编码安装包,发现系统中没有安装诸如GBK,GB18030的安装包,重新安装一下,并在/etc/i18n中配置好默认语言,发现解决了以上问题。

  • 字符编码安装

1、了解linux字符集目录相关信息

/usr/share/i18n/charmaps目录下存放linux可安装的字符编码集

/usr/share/i18n/locales目录存放linux的国家与locale对应信息

2、linux下安装字符集

         localedef -f GBK   -i zh_CN /usr/lib/locale/zh_CN.GBK

3、查看是否已安装字符集

         locale -a | grep GB2312
  • 查看linux的支持的语言集合

执行locale命令

       LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:zh
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
  • 在/etc/sysconfig/i18n中设置语言环境
       LANG="en_US.UTF-8" //默认语言为英文
LANGUAGE = “en_US.UTF-8”#表示应用程序的语言为中文
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
export LC_ALL="zh_CN.GB18030" /*这个优先级高于LANG*/
  • 在/root/.bash_profile中设置个人的语言环境
       export LANG=zh_CN.GB18030
export LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN

当在用户配置文件.bash_profile,.bashrc有关于语言环境变量设置时,优先级会高于/etc/sysconfig/i18n中的设置

  • 在/etc/profile中添加语言环境变量设置
       export LANG=zh_CN.GB18030
export LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN

在这里面设置将对所有的用户设置有效。

  • 需要对以上设置成功需要进行以下操作

1、source /etc/sysconfig/i18n

2、source /etc/profile

3、重启服务器

linux设置语言编码的更多相关文章

  1. linux 设置日志编码

    打开linux的设置面板 在Appearance选项->Character encoding 设置为UTF-8

  2. Linux 设置系统编码

    1.locale -a查看系统支持的语言2.进入etc/sysconfig/3.编辑i18n4.修改lang ​5.设置完成后刷新:i18n source /etc/sysconfig/i18n

  3. Linux下使用locale命令设置语言环境

    locale命令设置语言环境 在Linux中通过locale来设置程序运行的不同语言环境,locale由 ANSI C提供支持.locale的命名规则为_.,如zh_CN.GBK,zh代表中文, CN ...

  4. 【转】Linux下使用locale命令设置语言环境

    转自:http://www.cnblogs.com/dolphi/p/3622570.html locale命令设置语言环境 在Linux中通过locale来设置程序运行的不同语言环境,locale由 ...

  5. Linux改变语言设置的命令

    --Linux语言设置--------------2013/09/22Linux中语言的设置和本地化设置真是一个很繁琐的事情,时不时的会出现乱码的情况,在这篇文章中讨论的是shell中出现乱码的一些解 ...

  6. linux上设置mysql编码

    linux下设置mysql编码 linux下设置mysql编码 首先查找MySql的cnf文件的位置: [root@flyHome gaoxiang]# find / -iname '*.cnf' - ...

  7. Linux Centos7设置UTF-8编码,防止中文乱码

    Linux Centos7设置UTF-8编码,防止中文乱码 # localeLANG=zh_CN.gb2312LC_CTYPE="zh_CN.gb2312"LC_NUMERIC=& ...

  8. linux修改系统编码

    Windows的默认编码为GBK,Linux的默认编码为UTF-8.在Windows下编辑的中文,在Linux下显示为乱码.一种方法是在windows进行转码,比如使用ue工具在文件-->转换 ...

  9. locale命令设置语言环境

    locale命令设置语言环境 在Linux中通过locale来设置程序运行的不同语言环境,locale由 ANSI C提供支持.locale的命名规则为_.,如zh_CN.GBK,zh代表中文, CN ...

随机推荐

  1. C语言 rand()函数的用法

    rand()(产生随机数) 相关函数 srand() 表头文件 #include<stdlib.h> 定义函数 int rand()(void) 函数说明 rand()会返回一随机数值,范 ...

  2. bzoj 2152: 聪聪可可 树的点分治

    2152: 聪聪可可 Time Limit: 3 Sec  Memory Limit: 259 MBSubmit: 485  Solved: 251[Submit][Status] Descripti ...

  3. bzoj 1257: [CQOI2007]余数之和sum 数学 && 枚举

    1257: [CQOI2007]余数之和sum Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 1779  Solved: 823[Submit][Sta ...

  4. JAVA程序,SESSION没有关闭导致数据库异常

    可以看到连接到数据库的机器名为perass: PROCESS 1234表示是JDBC的进程 查询SQL: select username,         machine,         statu ...

  5. Java FutureTask理解

    尊敬原创作者,转载请注明出处: http://blog.csdn.net/gemmem/article/details/8956703 FutureTask是为了弥补Thread的不足而设计的,它可以 ...

  6. 单独启动tomcat

    原料: jdk-1_5_0_13-windows-i586-p.exe apache-tomcat-5.5.25.zip 安装jdk,路径为:C:\Program Files\Java\jdk1.5. ...

  7. 解决Mac OS X Lion狮子系统及win7多分区教程

    [绿茶教程]解决Mac OS X Lion狮子系统及win7多分区教程   工具/原料 8G的u盘制作lion系统安装盘   步骤/方法  插入U盘---开机---按住左下角“Option”键(alt ...

  8. 使用LoadRunner对Web Services进行调用--Import Soap

    利用LoadRunner对Web Services进行测试时,通常有三种可供采用的方法: 在LoadRunner的Web Services虚拟用户协议中,[Add Service Call] 在Loa ...

  9. 利用NSIS软件制作C#安装包

    最近在做C#程序安装包,结果网上看到这个软件还是不错的,可以尝试以下. NSIS 是“Nullsoft 脚本安装系统”(Nullsoft Scriptable Installation System) ...

  10. 一个cocos2d程序的完整人生(从环境到代码全过程)

    今天我的打砖块小游戏Beta0.1终于完成了,比较开心,写一下这个程序从出生到长大的全过程把. 这是个博客集合帖,具体的操作细节我都在其它博文中有详细说明,下面会给出链接   首先,我想我还是要介绍一 ...