Debian7 中文乱码解决方法

前言

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

环境说明

VMware Workstation版本:

Debian版本:

[email protected] 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

建议的软件源:

[email protected] 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

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

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

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

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

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

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

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

时间: 2024-10-28 21:05:57

Debian7 中文乱码解决方法的相关文章

Jsp---cookie中文乱码解决方法

//写cookie <form method="Get"> 姓名: <input type="text" name="name" /> <br /> <input type="submit" value="确定" /> </form> <!-- 写入cookie到客户端 --> <% if (request.getParamete

win7下zend studio5.5中文乱码解决方法

win7下zend studio5.5中文乱码解决方法 1.打开 C:Documents and SettingsAdministratorZDEconfig_5.5desktop_options.xml(这个地址要根据自己的电脑而定.) 2.查找 editing.encoding 3.修改里面为 <encoding name=”UTF-8″/> 4.保存,并将该文件属性设置为只读,否则zend每次启动都会将 desktop_options.xml 初始化 5.重启 zend 注意,你现在打开

SpringMVC中使用@ResponseBody注解返回值,Ajax取得中文乱码解决方法

Spring使用AnnotationMethodHandlerAdapter的handleResponseBody方法, AnnotationMethodHandlerAdapter使用request header中"Accept"的值和messageConverter支持的MediaType进行匹配,然后会用"Accept"的第一个值写入 response的"Content-Type".一般的请求都是通过浏览器进行的,request heade

PHP json_encode中文乱码解决方法

<?php /** * [PHP json_encode中文乱码解决方法] * 这里说的"中文乱码"其实不是不是真的乱码,而是在最后的json结果中显示下面的字串: * {"name":"\u4e2d\u6587\u5b57\u7b26\u4e32″,"value":"test"} * * [解决办法] * 在使用json_encode之前把字符用函数urlencode()处理一下,然后再json_encode

java中文乱码解决方法汇总

publicstaticvoidmain(String[]argv){ try{ System.out.println("中文");//1 System.out.println("中文".getBytes());//2 System.out.println("中文".getBytes("GB2312″));//3 System.out.println("中文".getBytes("ISO8859_1″));

unity3d 中文乱码解决方法&mdash;&mdash;cs代码文件格式批量转化UTF8

在Unity3d中经常会碰到中文乱码的问题,比如代码中的[AddComponentMenu("GameDef/AI/战机AI")],注释,中文文本等等 其原因在于,unity本身是不顾及地区的,所以默认全部为unicode编码,造成中文乱码 解决方法很多,比如, 一个一个文件用文本工具转成utf8格式 修改unity3d文件模板 第一种方法,在数量少的时候可行,数量多的时候就比较耗时和重复 第二种方法在项目前期做好的话非常有效,但是如果之前没这么处理就就没什么用了,而且一旦unity版

Qt5中文乱码解决方法

一. setWindowTitle(QStringLiteral("我是中文")); 二. QTextCodec *codec = QTextCodec::codecForName("GB18030"); setWindowTitle(codec->toUnicode("我是中文")); Qt5中文乱码解决方法

Zxing中文乱码解决方法

Zxing中文乱码解决方法总结 尝试过很多方法  最后发现此方法解决的乱码最多....... 在百度搜索二维码图片 经过前2页的测试  除开一张图之外  其余都能扫描出结果 如果大家有更好的解决方法 请联系我 谢谢 解决方法如下: 首先使用反射的方法判断扫描结果 是不是ISO8859-1的编码格式 如果是    ISO8859-1  编码格式就将扫描结果转换成GB2312 如果不是ISO8859-1 编码就直接显示......希望大家补充 我写了一个工具类 /** * 中文乱码 * * 暂时解决

[转]mysql导入导出数据中文乱码解决方法小结

本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码: 代码如下: mys