secureCRT与CentOS乱码问题

linux centos6中文乱码解决思路

在linux环境下操作,经常遇到中文乱码的情况,下面整理下自己遇到问题的解决思路:

出现位置:tomcat日志;

出现效果:中文显示问号:

解决思路:

1、输入echo $LANG打印当前使用的系统语言,或输入locale直接查看全部:

LANG=en_US.UTF-8 // LC_*的默认值,是最低级别的设置,如果LC_*没有设置,则使用该值。类似于 LC_ALL。
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” //提示信息的语言。另外还有一个LANGUAGE参数,它与LC_MESSAGES相似,但如果该参数一旦设置,则LC_MESSAGES参数就会失效。LANGUAGE参数可同时设置多种语言信息,如LANGUANE=“zh_CN.GB18030:zh_CN.GB2312:zh_CN”。
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” //对locale自身包含信息的概述
LC_ALL= //它是一个宏,如果该值设置了,则该值会覆盖所有LC_*的设置值。注意,LANG的值不受该宏影响。

如果没有需要安装,需要下载安装。

(1)、安装所有与中文支持相关的包

代码:# yum -y groupinstall chinese-support

(2)、修改字符编码配置文件

代码:# vi /etc/sysconfig/i18n

修改后内容如下:

LANG=“zh_CN.UTF-8”

SUPPORTED=“zh_CN:zh:en_US.UTF-8:en_US:en:zh_CN.GB18030”

SYSFONT=“latarcyrheb-sun16”

区分en_US.UTF-8与zh_US.UTF-8,分别默认显示为英文和中文模式。

2、排除系统语言后,查看终端的设置:

例如xshell,属性>终端>编码一项,是否设置为Uncod(UTF-8)

3、上述都没有问题后,考虑tomcat自身的设置:

在tomcat>bin>catalina.sh(window环境查看catalina.bat)文件中,echo "Using CATALINA_BASE: $CATALINA_BASE"前面加上:

JAVA_OPTS="$JAVA_OPTS -Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=zh_CN -Dsun.jnu.encoding=UTF-8"

重新启动tomcat,再观察日志的中文显示情况

4、上述都操作过后还是存在中文问题,那么就要考虑项目本身,例如:

(1)数据库的编码;

(2)打包前请检查文件的编码;

上述操作没有顺序,可根据猜测去试图查看。操作中,比较支持在同一步骤相同环境下多个项目或服务器比对的方式,找到问题的速度会更快…

转载自:大白来袭

解决secureCRT连接Ubuntu 乱码

secureCRT连接Ubuntu 乱码,在网上找了很多资料都没有给出完整的答案,后来自己参考了公司HP服务器上的配置:

LANG=C
LC_CTYPE=“C”
LC_COLLATE=“C”
LC_MONETARY=“C”
LC_NUMERIC=“C”
LC_TIME=“C”
LC_MESSAGES=“C”
LC_ALL=
受此联想,就想修改本地ubuntu上的locale,路径/etc/default/locale,想把LC_ALL=en.US_UTF-8,测试了一把CRT,结果还是乱码,然后就修改了CRT的配置,把原先的default,改成UTF-8 如下:
secureCRT与CentOS乱码问题
再次运行CRT,结果中文变成了??号:
secureCRT与CentOS乱码问题
最后,通过clone session的方式,即可以得到正确显示中文结果,大概是因为我有个global options 是default的方式,所以每次clone session下即可:
secureCRT与CentOS乱码问题
clone session过后,界面变成中文了:)
secureCRT与CentOS乱码问题
如果不想修改LC_ALL ,也可以修改部分,我本机如下:

LANG=en_US.UTF-8
LANGUAGE=en
LC_CTYPE=en_US.UTF-8
LC_NUMERIC=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8
LC_COLLATE=en_US.UTF-8
LC_MONETARY=zh_CN.UTF-8
LC_MESSAGES=en_US.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=
这些LC的具体含义这里就不详述了,可以查看其他的文档。

转载自:一夜七次郎啊