Linux不能输入中文

Linux不能输入中文

1 目标

本文针对的问题是“Ubuntu 安装中文语言包”“Ubuntu Server中文问题”,“Ubuntu更改语言环境”,“Ubuntu locale的设定”,“cannot change locale (zh_CN.UTF-8)”,“Linux中文乱码”,“Linux字符集的修改”,“Linux乱码的解决办法”等问题,提供一站式解决。如果系统显示中文异常,例如出现显示中文乱码等,可以参考本文章。

2 环境

服务器环境 : Ubuntu Server 16.04 lts

3 修改配置

3.1 服务器编码配置

首先,我们使用shell连接登录服务器,然后在终端中输入 locale命令,得到结果如下:

$ locale
LANG=
LANGUAGE=C:
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=

各个选项的含义如下:

  • 语言符号及其分类(LC_CTYPE)
  • 数字(LC_NUMERIC)
  • 比较和排序习惯(LC_COLLATE)
  • 时间显示格式(LC_TIME)
  • 货币单位(LC_MONETARY)
  • 信息主要是提示信息,错误信息, 状态信息, 标题, 标签, 按钮和菜单等(LC_MESSAGES)
  • 姓名书写方式(LC_NAME)
  • 地址书写方式(LC_ADDRESS)
  • 电话号码书写方式(LC_TELEPHONE)
  • 度量衡表达方式(LC_MEASUREMENT)
  • 默认纸张尺寸大小(LC_PAPER)
  • 对locale自身包含信息的概述(LC_IDENTIFICATION)。

关于 locale更多的信息,请查看 Locale-wiki
我们要修复的是中文文件名的显示和中文输入的问题,所以我们接下来只需要设置 LC_CTYPE即可.

查看系统支持的编码方式:

locale -a

看看输出内容中是否包含 zh_CN.utf-8,如果不包含的话,可以先安装下语言包

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

安装后,已经包含 zh_CN.utf-8

接下来,修改 LC_CTYPE的值,使用 export LC_CTYPE='zh_CN.UTF-8',命令来修改.
直接执行 export LC_CTYPE='zh_CN.UTF-8'那么只对当前会话有效,
所有用户(永久) :修改/etc/profile
当前用户(永久) :修改~/.bashrc

建议直接修改 /etc/profile文件,这样所有用户都可以使用.
修改完成后,退出登录,重新登录一次,再输入 locale命令,可以得到如下输出:

LANG=
LANGUAGE=C:
LC_CTYPE=zh_CN.UTF-8
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=

就可以输入中文了

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值