前言

今天一个同事,估计是以前没有使用过虚拟机(VMware Workstation)安装Debian,更谈不上如何设置Debian的环境了。他在安装后系统后,啥也没设置就直接安装mysql,结果发现设置密码的界面出现很多麻将块一样的乱码,问我怎么处理。我之前是有弄过,但今天还是给小小坑了一把,所以写下此文记录一下。

环境说明

VMware Workstation版本:

debian容器乱码 debian安装完乱码_debian容器乱码

Debian版本:

root@ Tue Oct 28 17:08:23 ~
$  uname -a
Linux lizy 3.2.0-4-686-pae #1 SMP Debian 3.2.63-2 i686 GNU/Linux

建议的软件源:

root@ Tue Oct 28 17:08:27 ~
$  cat /etc/apt/sources.list
deb http://ftp.debian.org/debian wheezy main contrib non-free
deb-src http://ftp.debian.org/debian wheezy main contrib non-free

deb http://mirrors.163.com/debian wheezy main non-free contrib  
deb-src http://mirrors.163.com/debian wheezy main non-free contrib  
deb http://mirrors.163.com/debian wheezy-proposed-updates main contrib non-free  
deb-src http://mirrors.163.com/debian wheezy-proposed-updates main contrib non-free  
deb http://mirrors.163.com/debian wheezy-updates main contrib non-free  
deb-src http://mirrors.163.com/debian wheezy-updates main contrib non-free  
deb http://mirrors.163.com/debian-security wheezy/updates main contrib non-free   
deb-src http://mirrors.163.com/debian-security wheezy/updates main contrib non-free
解决方案

注意:

1、以下命令均需要root权限

2、安装软件需要联网(虚拟机安装好后,使用桥接的方式一般都能上网)

3、软件源也需要重新配置,默认的软件源是安装不了的,可以参考上面的配置,国内163的源还挺快的,更新也比较及时。

 

由于只安装了最简单的系统,所以需要先安装locales,命令为:

aptitude install locales

然后进行配置,命令为:

dpkg-reconfigure locales

这里,粗心的人如果没看清楚界面上的使用说明,就会被小坑一把:这里的配置,空格键是选择,enter键是确认。如果直接按了回车键,就跳到了默认语言设置页面,导致配置中文失败。

对于我来说,选择以下几种编码已经够用:

en_US.UTF8
zh_CN GB2312
zh_CN GBK GBK
zh_CN UTF-8 UTF-8

在设置默认编码时选择:

zh_CN UTF-8 UTF-8

这时已经将语言编码设置好了。按理说,终端的中文不会再乱码了,但是……

同事没下面回答,只是发了一张让我蛋碎的图:

debian容器乱码 debian安装完乱码_VMware_02

挠破头皮之后,终于让我发现了原因:

在VMware Workstation安装好Debian后,由于窗口比较小,很多人(包括我)都习惯用SecureCRT、Xshell、putty等Telnet、SSH、rlogin、纯TCP以及串行接口连接软件远程连到Debian进行操作,但这些软件默认的字体和字符编码都是英文的。如果服务端是默认字段为中文编码的系统,那么终端就会出现很多麻将块一样的乱码。

处理方法是(以SeecureCRT为例):

设置路径为:会话属性--终端--外观

设置内容:标准字段和精确字段都设置为中文字段,字符编码修改为简体中文GBK

debian容器乱码 debian安装完乱码_软件源_03