kubuntu 20.04 解决终端中文显示乱码的问题

现象

安装 kubuntu 20.04 系统以及搜狗输入法后, 发现 kconsole 以及 deepin-terminal 均无法正确地输入和显示中文

deepin-terminal


解决

kubuntu 20.04 出厂配置没有使用中文字符集, 导致中文显示乱码


查看本地(即 local)相关的环境变量

$ locale
LANG=C
LANGUAGE=
LC_CTYPE="C"
LC_NUMERIC=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8
LC_COLLATE="C"
LC_MONETARY=zh_CN.UTF-8
LC_MESSAGES="C"
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=

设置正确的中文环境:

  1. 纯中文的系统

设置环境变量 LC_ALL=zh_CN.UTF-8, 其他以 LC 开头的环境变量都被设置为 zh_CN.UTF-8

  1. 可以输入中文, 但系统的菜单和标题等系统信息显示为英文

仅需设置系统的字符集 LC_CTYPE=zh_CN.UTF-8

只需要在 ~/.profile~/.bashrc 中加入 export LC_CTYPE="zh_CN.utf8", 重启后便可正常输入中文


当然以下内容也可以单独设置:

  • 数字格式 LC_NUMERIC
  • 时间显示格式 LC_TIME
  • 货币单位 LC_MONETARY
  • 度量单位 LC_MEASUREMENT

不过这些可以在系统设置界面找到


另外, LANGLC_ALL 作用类似, 设置其他 LC 开头变量的默认值 ,但优先级较低, 可被 LC_ALL 覆盖

优先级: LC_ALL > LC_* > LANG

LANG - Specifies the default locale for all unset locale variables
LANGUAGE - Most programs use this for the language of its interface


查看所有的可选值

$ locale -a
C
C.UTF-8
POSIX
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IL
en_IL.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
zh_CN.utf8

猜你喜欢

转载自blog.csdn.net/jiang_huixin/article/details/127211429