Ubuntu系统修改Locale时出现错误怎么解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu系统修改Locale时出现错误怎么解决相关的知识,希望对你有一定的参考价值。

要想达到应用程序中正常显示中文字符的目的,要下面的三个变量应该如下:

1.LANG=zh_CN.UTF-8

2.LANGUAGE=zh_CN:zh:en_US:en

3.LC_ALL=LC_ALL=zh_CN.UTF-8

但问题在于“LC_ALL to default locale: No such file or directory”和“LC_ALL: cannot change locale (zh_CN.UTF-8) ”,因此重新安装中文语言包。

执行下面命令

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

1sudo apt-get -y install language-pack-zh-hans language-pack-zh-hans-base。

如果想支持繁体字,则执行

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

1sudo apt-get -y install language-pack-zh-hant language-pack-zh-hant-base。

再执行locale命令设置当前locale环境。

1locale。

Ubuntu

Ubuntu是一个以桌面应用为主的Linux操作系统,由马克·舍特尔沃斯创立,首个版本于2004年10月20日发布。它是基于Debian GNU/Linux,支持x86、amd64(即x64)和ppc架构,由全球化的专业开发团队(Canonical Ltd)打造的,为桌面虚拟化提供支持平台。

Ubuntu建基于Debian发行版和GNOME桌面环境,而与Debian的不同之处在于,其每6个月发布一次,Ubuntu的目标在于为一般用户提供一个只使用自由软件的操作系统。Kubuntu与Xubuntu是Ubuntu计划正式支援的衍生版本,分别将KDE与Xfce桌面环境带入Ubuntu。Edubuntu则是一个为了学校教学环境而设计,并且让小孩在家中也可以轻松学会使用的衍生版本。2013年1月3日,Ubuntu正式发布面向智能手机的移动操作系统。2014年2月20日,Canonical公司召开Ubuntu智能手机发布会,宣布Ubuntu与魅族合作推出Ubuntu版MX3。

参考技术A Ubuntu修改Locale的目的就是更改Linux系统的语言环境,但是Ubuntu修改Locale经常出现错误,导致出现中文乱码等一系列的问题。

要想达到应用程序中正常显示中文字符的目的,要下面的三个变量应该如下,
  1LANG=zh_CN.UTF-8
  2LANGUAGE=zh_CN:zh:en_US:en
  3LC_ALL=LC_ALL=zh_CN.UTF-8
  但问题在于“LC_ALL to default locale: No such file or directory”和“LC_ALL: cannot change locale (zh_CN.UTF-8) ”,因此重新安装中文语言包。

执行下面命令
  1sudo apt-get -y install language-pack-zh-hans
  或
  1sudo apt-get -y install language-pack-zh-hans language-pack-zh-hans-base
  如果想支持繁体字,则执行
  1sudo apt-get -y install language-pack-zh-hant
  或
  1sudo apt-get -y install language-pack-zh-hant language-pack-zh-hant-base
  再执行locale命令设置当前locale环境
  1locale
参考技术B 问题描述
  终端显示中文正常,应用程序里面显示中文异常。
  错误表现
  1$ sudo dpkg-reconfigure locales
  perl: warning: Setting locale failed.
  perl: warning: Please check that your locale settings:
  LANGUAGE = “zh_CN:zh:en_US:en”,
  LC_ALL = “zh_CN.UTF-8”,
  LANG = “zh_CN.UTF-8”
  are supported and installed on your system.
  perl: warning: Falling back to the standard locale (“C”)。
  locale: Cannot set LC_CTYPE to default locale: No such file or directory
  locale: Cannot set LC_MESSAGES to default locale: No such file or directory
  locale: Cannot set LC_ALL to default locale: No such file or directory
  /bin/bash: warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8)
  Generating locales.。。
  en_US.UTF-8.。。 /usr/sbin/locale-gen: line 177: warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8)
  up-to-date
  Generation complete.
  1$ man locale
  man: can‘t set the locale; make sure $LC_* and $LANG are correct
  1$ locale
  locale: Cannot set LC_CTYPE to default locale: No such file or directory
  locale: Cannot set LC_MESSAGES to default locale: No such file or directory
  locale: Cannot set LC_ALL to default locale: No such file or directory
  LANG=zh_CN.UTF-8
  LANGUAGE=zh_CN:zh: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=
  1$ localectl list-locales
  C.UTF-8
  en_US.utf8
  zh_CN.utf8
问题解决办法
  要想达到应用程序中正常显示中文字符的目的,要下面的三个变量应该如下,
  1LANG=zh_CN.UTF-8
  2LANGUAGE=zh_CN:zh:en_US:en
  3LC_ALL=LC_ALL=zh_CN.UTF-8
  但问题在于“LC_ALL to default locale: No such file or directory”和“LC_ALL: cannot change locale (zh_CN.UTF-8) ”,因此重新安装中文语言包。
  执行下面命令
  1sudo apt-get -y install language-pack-zh-hans
  或
  1sudo apt-get -y install language-pack-zh-hans language-pack-zh-hans-base
  如果想支持繁体字,则执行
  1sudo apt-get -y install language-pack-zh-hant
  或
  1sudo apt-get -y install language-pack-zh-hant language-pack-zh-hant-base
  再执行locale命令设置当前locale环境
  1locale
  相关的文件和参考
  相关手册:man locale(1), locale(5), locale(7)
  相关文件:/usr/share/i18n/SUPPORTED
  相关命令:
  locale --all-locales 列出当前系统中所有支持的locale
  localectl list-locales 列出当前系统中所有可用的locale
  localectl set-locales LOCALE.。。 修改当前系统中的locale,与locale功能相同,与export上文提到的三个变量相同
  对于CentOS,可以直接编辑/etc/sysconfig/i18n文件,将LANG=“en_US.UTF-8”设置成LANG=“zh_CN.UTF-8”,除此之外,CentOS下locale命令的显示结果如下:
  1# locale
  LANG=en_US.UTF-8
  LC_CTYPE=“en_US.UTF-8”
  LC_NUMERIC=“en_US.UTF-8”
  LC_TIME=“en_US.UTF-8”
  LC_COLLATE=“en_US.UTF-8”
  LC_MONETARY=“en_US.UTF-8”
  LC_MESSAGES=“en_US.UTF-8”
  LC_PAPER=“en_US.UTF-8”
  LC_NAME=“en_US.UTF-8”
  LC_ADDRESS=“en_US.UTF-8”
  LC_TELEPHONE=“en_US.UTF-8”
  LC_MEASUREMENT=“en_US.UTF-8”
  LC_IDENTIFICATION=“en_US.UTF-8”
  LC_ALL=
  其中,LC_ALL=为空,但并不是表示这里不对,而是LC_ALL=实际上等于LC_COLLATE、LC_CTYPE、LC_MONETARY、LC_MESSAGES、LC_NUMERIC、LC_TIME,参见locale(7)。本回答被提问者和网友采纳

以上是关于Ubuntu系统修改Locale时出现错误怎么解决的主要内容,如果未能解决你的问题,请参考以下文章

安装soapui时出现以下提示,请问怎么解决,谢谢大家

调用未定义函数 codeigniter\locale_set_default() 时出现 codeigniter 错误

打开网站时出现HTTP 400 错误的请求,这是啥意思,要怎么解决?

安装Ubuntu 16.04时出现:没有定义根文件系统,请到分区菜单修改

安装jdk时出现错误1719怎么解决

SSH远程连接Linux时出现中文乱码