您的位置:首页 > 其它

Ubuntu14.04中文乱码以及搜狗输入法无法正常输出中文的问题

2015-06-14 19:17 274 查看

Ubuntu14.04中文乱码以及搜狗输入法无法正常输出中文的问题

  前段时间由于ia32-lib的依赖问题安装不上,怒了就被备份下当前系统,然后重装下Ubuntu, 恢复config都很顺利,但是遇到了两个问题:

  1. 仅是终端显示中文乱码,以及无法输入中文到终端上,vim, FileManager都显示正常。

  2. 安装fcitx框架后,安装搜狗deb,无法输入中文,搜狗输入法选中情况下,只能输出英文。

  这两个问题很困扰着我,网络上找了不少方法,修改各种东西,就是没有弄好,后面仔细看了下locale相关的东西,就是一些用户的配置,所以我采用以下这种方法将这两个问题解决了。

  所有乱码分为两类:1. 字库没有安装,没有在Languages里面把中文选进去; 2. locale的设置有问题。

  一、所有的支持的语言在/var/lib/locales/supported.d/local里面,如果没有,需要通过locale相关工具安装对应的语言,目前我的语言支持如下:

zh_CN.UTF-8 UTF-8

en_US.UTF-8 UTF-8

en_US ISO-8859-1

hu_HU ISO-8859-2

hu_HU.UTF-8 UTF-8

zh_CN.GB18030 GB18030

zh_CN.GBK GBK

  二、需要配置系统的所要展示的语言,以及输入法的语言(之前不清楚搜狗输入法不能输出中文竟然还跟locale这个有关!)

出现的问题:1. 终端中文乱码; 2. 搜狗输入法只能输出英文。

更改了很多次,都是更改在/etc/profile或者 /etc/default/locale 或/etc/environment, 但是更改了下没有效,想了想,都是更改环境变量,那么我就在基于当前用户上,直接更改 ~/.profile里面的内容, 在最后端输入:

export LANG=en_US:zh_CN.UTF-8

export LANGUAGE=en_US

export LC_CTYPE=en_US:en:zh_CN.UTF-8

export LC_NUMERIC=en_US

export LC_ALL=en_US.UTF-8

然后logout注销重新登陆,输入locale后可以看到如下,此时搜狗输入中文和终端显示中文都正常啦!

LANG=en_US:zh_CN.UTF-8

LANGUAGE=en_US

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=en_US.UTF-8

具体详细的几个参数,请参考:http://www.cnblogs.com/xlmeng1988/archive/2013/01/16/locale.html


原创文章,欢迎转载,

转载请注明:http://blog.csdn.net/jjzhoujun2010

作者:Dream Fly

更多精彩,详见个人主页 http://heiheimonkey.com/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: