环境:
服务器环境 : Ubuntu Server 16.04 lts
服务器编码配置:
首先,我们使用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=
(免费视频教程推荐:linux视频教程)
各个选项的含义如下:
语言符号及其分类(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)。
我们要修复的是中文输入的问题,所以我们接下来只需要设置 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=
之后就可以输入中文了:
相关文章教程推荐:linux教程
以上是linux无法输入中文的详细内容。更多信息请关注PHP中文网其他相关文章!