深度终端乱码问题。
Tofloor
poster avatar
srwth
deepin
2014-12-21 00:44
Author
深度终端使用简体中文(GBK)编码居然会中文乱码,太假了吧。
使用utf正常。
附件是两种编码的使用效果。
Reply Favorite View the author
All Replies
stephenjy
deepin
2014-12-21 02:26
#1
深度终端使用简体中文(GBK)编码居然会中文乱码,太假了吧。
使用utf正常。
附件是两种编码的使用效果。

这里是有两部分组成的,需要合作:
* 命令输出的文字是什么编码的
* 终端把这些文字按什么编码理解并渲染出来

你的情况应该是,系统的locale是zh_CN.utf8的,所以命令输出的文字都是utf8编码的,但是你让终端按照gbk去理解,肯定就乱码了。如果你要改编码,那么你需要先修改系统的locale,终端一般会根据系统的locale自适应。
Reply View the author
BingoLove
deepin
2014-12-21 02:40
#2
默认是utf8
Reply View the author
srwth
deepin
2014-12-21 06:28
#3
[quote]深度终端使用简体中文(GBK)编码居然会中文乱码,太假了吧。
使用utf正常。
附件是两种编码的使用效果。

这里是有两部分组成的,需要合作:
* 命令输出的文字是什么编码的
* 终端把这些文字按什么编码理解并渲染出来

你的情况应该是,系统的locale是zh_CN.utf8的,所以命令输出的文字都是utf8编码的,但是你让终端按照gbk去理解,肯定就乱码了。如果你要改编码,那么你需要先修改系统的locale,终端一般会根据系统的locale自适应。[/quote]
安装源好像没有zh_cn.gbk

系统自带:locale -a
C
C.UTF-8
en_GB.utf8
en_US.utf8
POSIX
zh_CN.utf8
zh_SG.utf8
Reply View the author
cxbii
deepin
2014-12-23 21:34
#4
是默然配置下就会有这个问题么?
能否给出重现方式
Reply View the author
srwth
deepin
2014-12-25 06:03
#5
是默然配置下就会有这个问题么?
能否给出重现方式

深度终端》选项设置》高级设置》编码改为任意非UTF》sudo运行任意命令》故意输入错误密码》即可得乱码。
Reply View the author
cxbii
deepin
2014-12-25 20:55
#6
[quote]是默然配置下就会有这个问题么?
能否给出重现方式

深度终端》选项设置》高级设置》编码改为任意非UTF》sudo运行任意命令》故意输入错误密码》即可得乱码。[/quote]
已经上报
Reply View the author
stephenjy
deepin
2014-12-26 00:20
#7
[quote][quote]是默然配置下就会有这个问题么?
能否给出重现方式

深度终端》选项设置》高级设置》编码改为任意非UTF》sudo运行任意命令》故意输入错误密码》即可得乱码。[/quote]
已经上报[/quote]

我前面已经说过了,这不是系统的问题,环境变量locale指定的是zh_CN.UTF-8,那么所有的命令输出文字时都会按照UTF-8编码输出,而终端用其他字符集的方式来渲染这些文字,必然乱码。

楼主回复说系统只有UTF-8,没有GBK的locale,这是另外一回事,这个确实是Deepin的问题,Deepin应该考虑在中文版的系统里预置GBK相关的locale。

但是支持GBK的locale是一回事,楼主如果要用GBK的话,需要修改系统的locale,修改方法是:修改/etc/default/locale,改成:
  1. LANG=zh_CN.GB18030
  2. LANGUAGE=zh_CN
Copy the Code
或者其他自己想要的locale,并且重启系统使生效,然后再开终端,将终端的编码设置为相应的编码。
Reply View the author
yuszyzz
deepin
2015-01-04 19:22
#8
l楼上已经回复的很好了.
Reply View the author