前段时间在服务器上安装了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. python相关的工具

    在使用python的时候,发现Adaconda工具包真的很不错,里面集合了很多的工具,并且,自带了很多的python常用模块 另外,PyCharm编辑器也是不错的,界面清晰,可以实现数据的可视化

  2. bootstrap datepicker时间插件显示位置不对

    bppystrap-datetimepicker.min.js中,修改如下:将原来的        if(!b(this.element)){l=l+document.body.scrollTop}改 ...

  3. poj 3667 Hotel

    昨天学习了线段树的延迟标记: 发现自己还有区间合并没有学: 抓紧时间学习一下: 代码: #include<cstdio> #include<algorithm> #define ...

  4. FTP配置和用户设置权限

    http://www.cnblogs.com/xcxc/archive/2013/01/25/2876749.html ---------------------------------------- ...

  5. javascript中神奇的(+)加操作符

    javascript是一门神奇的语言,这没神奇的语言中有一个神奇的加操作符. 常用的加操作符我们可以用来做: 加法运算,例如:alert(1+2); ==>3 字符串连接,例如:alert(“a ...

  6. python functools模块

    functools.partial 作用: functools.partial 通过包装手法,允许我们 "重新定义" 函数签名 用一些默认参数包装一个可调用对象,返回结果是可调用对 ...

  7. 深入浅出Node.js (9) - 玩转进程

    9.1 服务模型的变迁 9.1.1 石器时代:同步 9.1.2 青铜时代:复制进程 9.1.3 白银时代:多线程 9.1.4 黄金时代:事件驱动 9.2 多进程架构 9.2.1 创建子进程 9.2.2 ...

  8. delphi编写winsocket的流程

    delphi编写winsocket的流程 1.在窗体创建的时候启用动态连接库(引用winsock)    var  aWSAData:TWSAData;    if WSAStartup($0101, ...

  9. [转载]jQuery.extend 函数详解

    JQuery的extend扩展方法:      Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解.      一.Jquery的扩展方 ...

  10. MIPI总结和MIPI规格说明书

    1. MIPI 因为是差分信号,所以时钟和数据lane 都是一对一对的,对应的即是: 1land = lane(N) + lane(P). 分享mipi 规格说明书文档如下: http://yun.b ...