前段时间在服务器上安装了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. 打造轻量级自动化测试框架WebZ

    一.什么是WebZ WebZ是我用Python写的“关键字驱动”的自动化测试框架,基于WebDriver. 设计该框架的初衷是:用自动化测试让测试人员从一些简单却重复的测试中解放出来.之所以用“关键字 ...

  2. Quartz1.8.5例子(七)

    /* * Copyright 2005 - 2009 Terracotta, Inc. * * Licensed under the Apache License, Version 2.0 (the ...

  3. Codeforces Round #204 (Div. 2): B

    很简单的一个题: 只需要将他们排一下序,然后判断一下就可以了! 代码: #include<cstdio> #include<algorithm> #define maxn 10 ...

  4. Android的系统架构

    转自Android的系统架构 从上图中可以看出,Android系统架构为四层结构,从上层到下层分别是应用程序层.应用程序框架层.系统运行库层以及Linux内核层,分别介绍如下:     1)应用程序层 ...

  5. iOS,OC,图片相似度比较,图片指纹

    上周,正在忙,突然有个同学找我帮忙,说有个需求:图片相似度比较. 网上搜了一下,感觉不是很难,就写了下,这里分享给需要的小伙伴. 首先,本次采用的是OpenCV,图片哈希值: 先说一下基本思路: 1. ...

  6. linux解压命令

    .tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gun ...

  7. VC和VS调用Lua设置以及Lua C API使用。

    通过c++调用lua 脚本,    环境VC++6.0    lua  sdk 5.1.4 在调用前先认识几个函数.1.调用lua_open()将创建一个指向Lua解释器的指针.2. luaL_ope ...

  8. bzoj1389

    比较有意思的一道题初看肯定是dp一类,但好像没什么思路,先令p=1-p q=1-q如果我们用常见的f[i]到第i次试验最大利润的话我们发现不好转移,因为影响因素不仅有价格,还有数量考虑到原料总量一定, ...

  9. Maven学习(3) - Maven和Eclipse集成和构建多模块Maven项目

    最近在工作中越来越经常的用到了Maven作为项目管理和Jar包管理和构建的工具,感觉Maven的确是很好用的.而且要将Maven的功能最大发挥出来,多模块是一个很好的集成例子. 一个Maven项目包括 ...

  10. Unity5 Screen-Space Subsurface Scattering屏幕空间次表面散射SSSSS

    用unity5自带的standard shader        ------------by wolf96