今天,帮我们同学处理一下中文显示乱码的问题。这个是个国内Linux用户烦恼的问题,由于大部分的Linux发行版都是以英语为主体的,而且英文在通用性和稳定性上都比中文要好一些,各种奇怪的BUG也要少一点。所以,强烈建议使用英文的系统。

我们知道我们的操作系统是无所谓中文版和英文版的,无论是windows还是Linux,系统发行的时候全世界都是一样的内核,系统呈现给我们是英文还是中文,完全取决于你选择的语言包。不同国家的人在安装使用的时候选择属于自己国家的语言包,应用程序中的语言也不是写死的,它根据系统的设置来调用相关的语言,所以,一个应用程序写出来不经过修改,全世界不同国家的用户都可以以母语界面使用它,这就事所谓的internationalization(国际化),简称 i18n。这也是未来软件的发展趋势。

那么,如果我在系统中安装了不同的语言包和不同的字体,系统是如何判断我所要的语言界面并调用相关的字体的呢?系统中那些文件和变量在控制这些呢?

可以使用locale命令,查看当前系统默认采用的字符集
# locale

RedHat/CentOS系统下,记录系统默认使用语言的文件是/etc/sysconfig/i18n,如果默认安装的是中文的系统,i18n的内容如下:

LANG="zh_CN.UTF-8" 
SYSFONT="latarcyrheb-sun16" 
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"

其中LANG变量是language的简称,稍微有英语基础的用户一看就看出来这个变量是决定系统的默认语言的,即系统的菜单、程序的工具栏语言、输入法默认语言等。SYSFONT是system font的简称,决定系统默认用哪一种字体。SUPPORTED变量决定系统支持的语言,即系统能够显示的语言。需要说明的是,由于计算机起源于英语国家,因此,不管你把这些变量设置成什么,英语总是默认支持的,而且不管用什么字体,英文字体总包含在其中。

那么如何显示中文呢?
1、系统必须安装中文语言包才行
# yum -y groupinstall chinese-support

2、仅仅有语言包还不行,我们得设置相应的字符集

## 临时生效 
# export LANG="zh_CN.UTF-8"    # 设置为中文 
# export LANG="en_US.UTF-8"    # 设置为英文,我比较喜欢这样 export LANG=C 
  
## 永久生效, 编辑/etc/sysconfig/i18n(最好reboot一下) 
LANG="zh_CN.UTF-8"
  
## 或者,编辑 /etc/profile配置文件,添加如下一行 
export LANG="zh_CN.UTF-8"
# 重新载入 
# . /etc/profile 
  
## 查看当前的字符集 
# echo $LANG

好了,经过上面的设置,在终端上应该能够显示中文了。

3、ssh远程终端乱码
如果SSH终端还是乱码,那么我们也需要对终端软件的编码进行设置。

Xshell:

SecureCRT:

4、如果终端还是中文乱码肿么办?

对SSH软件进行设置,选择一个支持中文的字体。

Linux <---> Windows 之间相互需要修改文件,然后乱码。

拷贝上去后经常发现中文显示乱码。。原因是Windows中默认的文件格式是 GBK(gb2312),而Linux一般都是UTF-8。比较繁琐的方法是在windows下用程序把内容转换为utf-8编码格式的,但是相当麻烦, 而且遇到一个文件转一回。下面介绍一下,在Linux中如何一劳永逸的解决这个问题,查看文件的编码及如何进行对文件进行编码转换。

为了避免这些问题,最好的方式就是统一编码。对于文本文件,都统一保存为UTF8格式,windows下面不要使用word,记事本,推荐Sublime text, 或者notepad++。

用SecureCRT 实现 WIN7 与 Linux 双向通信的问题及文件互传问题解决 http://www.linuxidc.com/Linux/2014-08/105412.htm

如何使用SecureCRT6.6.2通过SSH方式登录Ubuntu系统 http://www.linuxidc.com/Linux/2011-03/33024p4.htm

SecureCRT 连接 Ubuntu http://www.linuxidc.com/Linux/2013-06/85824.htm

Ubuntu 12.04 + 虚拟机VMware 9 + Secure CRT + EditPlus 本地C++开发环境搭建 http://www.linuxidc.com/Linux/2013-05/84820.htm

利用SecureCRT在Linux与Windows之间传输文件 http://www.linuxidc.com/Linux/2014-08/105413.htm

Ubuntu 14.10安装SecureCRT 7.3 http://www.linuxidc.com/Linux/2014-10/108709.htm

SecureCRT 的详细介绍请点这里
SecureCRT 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-04/115817.htm

Linux终端中文显示乱码的更多相关文章

  1. 解决SecureCRT连接linux终端中文显示乱码

    现象如下: 原因: SecureCRT的字符集编码不是Linux的默认编码:UTF-8 解决办法: 1.在“选项”找到“会话选项” 2.选择“外观”,设置字符编码为“UTF-8” 3.确定后,继续在终 ...

  2. 【linux】centos7终端中文显示乱码,命令返回中文乱码

    centos7终端中文显示乱码,命令返回中文乱码 1.查看服务器编码的命令 1.1 echo $LANG 1.2 locale 1.3 查看终端xshell编码 如果以上的三点依旧保持一致,而依旧乱码 ...

  3. Xshell4连接,Linux系统中文显示乱码解决办法

    Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET NetSarang Xshell 4 Build 0120议.使用 ...

  4. Linux下中文显示乱码问题

    Linux下中文显示乱码问题 输出编码选utf-8 然后文件本身编码也要是utf-8

  5. ubuntu 终端中文显示乱码问题!

    1 Alt+Ctrl+F1 进入第一个终端,发现中文乱码. 2 安装zhcon. sudo apt-get install zhcon 3 输入下面命令,启动zhcon,中文显示正常. zhcon - ...

  6. Linux vim 中文显示乱码解决方法

    因为在windows下默认是gb编码,而我的vim默认是utf-8(gedit默认也是utf-8),所以打开会成乱码.改动了一下配置文件,使vi支持gb编码就好了.$vi ~/.vimrclet &a ...

  7. Mysql 终端中文显示乱码

    查看编码 show variables like 'char%'; 结果 +--------------------------+--------+ | Variable_name | Value | ...

  8. 01_Linux系统系统语言查询,设置Xshell工具,中文显示,测试Xshell中文字符显示,Linux中文显示乱码设置

              Xshell是一个强大的安全终端模拟软件,它支持SSH1,SSH2,以及Microsoft Windows平台的TELNETNetSarang Xshell 4 Build 0 ...

  9. 解决Linux中文显示乱码的问题

    1.直接执行 export LC_ALL=zh_CN.UTF8 #linux服务器中文显示乱码,但配置文件设置是中文的.解决办法 2.修改文件 修改/etc/sysconfig/i18n文件,确认信息 ...

随机推荐

  1. RobHess的SIFT代码解析步骤一

    平台:win10 x64 +VS 2015专业版 +opencv-2.4.11 + gtk_-bundle_2.24.10_win32 主要参考:1.代码:RobHess的SIFT源码:SIFT+KD ...

  2. HTML5学习:表格

    HTML代码 <table> <thead> <tr> <th>标题1</th> <th>标题2</th> < ...

  3. python基础:数据类型一

    一.可变不可变类型 二.数字类型 三.字符串类型 四.列表类型 一.可变不可变类型 #可变类型: 值变了,但是id没有变,证明没有生成新的值而是在改变原值,原值是可变类型 #不可变类型:值变了,id也 ...

  4. CHANGELOG 的实现

    项目需要写版本信息时有对除了版本号之外更详细的 changelog 的展示, 于是就需要在平时的 git commit 中进行规范, 才能自动生成CHANGELOG.md. Husky 首先本地安装 ...

  5. JAVA-如何打包成jar包

    主线:编译 - 打包 - 运行 准备工作: 1. 手动打可直接执行的jar包 1) 先使用javac编译java文件,得到class文件 2) 新建文件,名字任起,比如可以叫manifest,内容如下 ...

  6. jsp的标签库

    Java Server Pages Standard Tag Libray(JSTL):JSP 标准标签库,是一个定制标签类库的集合,用于解决一些常见的问题,例如迭代一个映射或者集合.条件测试.XML ...

  7. 软件测试常用的linux命令

    不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个.这里我把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍. ◆ 安装和登录命令:logi ...

  8. c语言1-2019秋作业02

    格式: 这个作业属于那个课程 C语言程序设计I 这个作业要求在哪里 http://edu.cnblogs.com/campus/zswxy/SE2019-3/homework/8688 我在这个课程的 ...

  9. 转化对象为map方法

    言语不多,直接上代码. private Map<String, Object> introspect(Object obj) throws Exception { Map<Strin ...

  10. DNS服务基础

    DNS服务器的功能 – 正向解析:根据注册的域名查找其对应的IP地址 – 反向解析:根据IP地址查找对应的注册域名(不常用) NS(声明DNS记录) A(正向解析记录) CNAME(解析记录别名) 安 ...