zoukankan      html  css  js  c++  java
  • 使linux服务器默认使用中文字符集zh_CN.UTF-8

    一.问题描述和相关概念

        linux服务器的字符集设置可能影响到网站页面出现 “???” 等问号乱码,还有可能导致文件中的汉字部分出现乱码。

        locales设置:语言设置选项
       linux真的是一个非常强大的系统,windows如果要更改语言系统,必须要重新安装软件, 这就是windows存在多国语言版 的原因。而linux非常方便,我们可以通过locales设置,将linux从英文版更改为中文版,下面我们来看看如何更改语言设置。

    二.原因

    简单的说是因为服务器没有安装zh_CN.UTF-8 字符集,导致不支持中文!

    locale   //执行这个命令,查看和语言编码有关的环境变量

    显示如下:

    LANG=

    LANGUAGE=en_US:en

    LC_CTYPE="POSIX"

    LC_NUMERIC="POSIX"

    LC_TIME="POSIX"

    LC_COLLATE="POSIX"

    LC_MONETARY="POSIX"

    LC_MESSAGES="POSIX"

    LC_PAPER="POSIX"

    LC_NAME="POSIX"

    LC_ADDRESS="POSIX"

    LC_TELEPHONE="POSIX"

    LC_MEASUREMENT="POSIX"

    LC_IDENTIFICATION="POSIX"

    LC_ALL=

    可以看到大多数都默认为POSIX 类型的,这时可以改服务器的默认字符集为zh_CN.UTF-8(我测试过改了没问题哦,可以解决汉字乱码问题。如果能通过设置SecureCrt等终端可以解决的话,就没必要改了)

    三.解决办法

    环境:Ubuntu 12.04.5 LTS l

    1.安装基本的软件包(第2步安装 zh_CN 中文字符集时要用到)

    sudo apt-get update     //ubuntu系统更新软件包列表

    sudo apt-get install  -y language-pack-zh-hans

    sudo apt-get install -y language-pack-zh-hant

    2.

    cd /usr/share/locales    

    sudo ./install-language-pack zh_CN   //开始安装zh_CN中文字符集

    3.  编辑 sudo vim /etc/environment     //环境变量配置文件

     添加下面zh_CN.UTF-8有关的环境变量,添加完就变成默认的了哦:

    LANG=zh_CN.UTF-8

    LANGUAGE=en_US:en

    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=zh_CN.UTF-8

    4.重新登录一次shell  

    source /etc/environment   //使刚才添加的环境变量生效。如果不重新登录shell的话,执行此命令可能会报错哦,我试过了!

    四.简单看下成果

    1.locale 命令看下输出结果吧!

    2.也可以进入  /var/lib/locales/supported.d

    cat local

    显示:

    en_US.UTF-8 UTF-8

    zh_CN.UTF-8 UTF-8

    而没有安装中文之前只显示:

    en_US.UTF-8 UTF-8

    注:locale -a 可以查看操作系统支持的字符集。

  • 相关阅读:
    Java 深拷贝和浅拷贝 利用序列化实现深拷贝
    算法题005 剑指Offer面试题29 数组中出现次数超过一半的数字
    算法题003 斐波那契(Fibonacci)数列
    Android Sensors (4) 传感器使用最佳实践
    Android WebView使用基础
    Java 多线程(八) 线程状态图
    算法题006 判断两个链表是否相交
    Java 多线程(五) 多线程的同步
    算法题001 剑指Offer 面试题三:二维数组中的查找
    Android绘制基础及手写绘制实例
  • 原文地址:https://www.cnblogs.com/xcp19870712/p/5237565.html
Copyright © 2011-2022 走看看