CentOS 中文支持相关问题

来源:互联网 发布:淘宝充气娃娃骗局 编辑:程序博客网 时间:2024/05/29 04:25

iconv -l 命令查看系统支持的编码格式

localectl list-locales 命令查看可用的区域语言(支持正则表达式)

localectl status命令查看当前区域语言配置(支持正则表达式)

localectl set-locale LANG=zh_CN.utf8 命令设置区域语言配置

/etc/locale.conf文件配置系统默认使用的编码格式


三个设置解决Putty登陆Linux同时支持GBK与UTF-8编码乱码的问题
                             
UTF8的环境设置为
                              putty的设置:
                              1.Windows->Appearance->font 
                              setting->Fixedsys(这个字体好看,选其它中文字体也可以)
                              2.Windows->translation->font->UTF-8,
                              登陆上去linux后系统的设置:(如果你系统默认的环境是UTF-8,则无须这一步)
                              3.export LC_ALL=zh_CN.UTF-8

                              GBK(GBK编码包含了GB2312里的字)
                              putty的设置:
                              1.Windows->Appearance->font 
                              setting->Fixedsys(这个字体好看,选其它中文字体也可以)
                              2.Windows->translation->font->Use font 
                              encoding(或手动输入CP936也可).
                              登陆上去linux后系统的设置:
                              3.export LC_ALL=zh_CN.GBK

                              不想设置的可以用另一个终端pietty, 
                              这个是putty基础上开发的,可以直接在菜单里远中文支持,更傻瓜化。
                              推荐一个多标签的putty管理程序,wintabber,开多个putty时很方便。 


文件传输后乱码问题解决


从windows传过来的文件拷到linux下是乱码,可能又想在linux下显示中文,怎么办呢?
我们首先进行测试,linux下的中文是否可以正常显示?答:yes. 所以问题就比较明显了,windows下拷过来的不能显示,说明windows下和linux下支持的格式是不相同的.
linux下一般是采用utf-8的编码,而我们在windows上编辑文件时是gb2312的编码。所以导致中文编码会乱码。要更正这个问题实际上很简单只要把文件转换成utf-8编码格式然后再导入就ok啦。
然后使用如下命令进行转换:
iconv -f gb2312 -t utf-8 test.txt> testutf8.tzt
(-f 就是源编码,-t 转换目标编码,test.txt源文件,testutf8.txt生成目标编码文件)
备注:使用 iconv -l 可以查看系统支持编码格式。当然也可以添加其中的编码格式:
默认为utf8,如果想用其他编码如GBK
手动更改配置文件的命令:
shell> vi /etc/sysconfig/i18n
将LANG="zh_CN.UTF-8"修改为:
LANG="zh_CN.GBK"
保存并关闭,运行下面的命令使配置生效:
shell> source /etc/sysconfig/i18n
将终端字符编码显示为简体中文:
shell> vi /etc/profile.d/chinese.sh
添加下面这行:export LC_ALL=zh_CN.GBK
shell> source /etc/profile.d/Chinese.sh


数据库读出来的文字乱码问题解决


就是从数据库中取出来时,在存入linux的文件里时,在字符流时制定编码格式。代码如下:
FileOutputStream fos=new FileOutputStream(new File(filePath),true);
Writer ut=new OutputStreamWriter(fos,"UTF-8");
out.write(s);
out.write("\n");
out.flush();
fos.close();
out.close();
解决:
vi .bash_pro
file
export lang=zh_CN
vi /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SUPPORTED="en_US.UTF-8:en_US:en:zh_CN.GB18030:zh_CN:zh:zh_TW.big5:zh_TW:zh:ja_JP.UTF-8:ja_JP:ja:ko_KR.eucKR:ko_KR:ko"
SYSFONT="latarcyrheb-sun16"
只改第一个不管用,好像第二个尤其重要,必须改。


编辑文件乱码解决
新发了台linux虚拟机,用VIM出现了中文乱码问题,查找了资料,解决方法如下:
vi /etc/sysconfig/i18n
将内容改为
LANG=”zh_CN.GB18030″
LANGUAGE=”zh_CN.GB18030:zh_CN.GB2312:zh_CN”
SUPPORTED=”zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en”
SYSFONT=”lat0-sun16″
这样中文在SSH,telnet终端就可以正常显示了
其中,主要修改的内容主要为zh_CN.GB18030,其中要注意VI个性的内容为根目录下,要注意权限
 
SSH连接乱码问题解决
每次装完linux,用SSH连接,中文总是显示乱码。51Testing软件测试网
解决方法:编辑/etc/sysconfig/i18n,将其中的 LANG=”zh_CN.UTF-8″ 改为 LANG=”zh_CN.GB2312″ 。
&m^%k7X6X7IQ051Testing软件测试网 K!W|,r8cV&r5N
断开重新连接。


用SSH软件连接时,中文是乱码解决:修改/etc/sysconfig/i18n文件,将其改成以下内容: LANG=”zh_CN.GB18030″ LANGUAGE=”zh_CN.GB18030:zh_CN.GB2312:zh_CN”SUPPORTED=”zh_CN.UTF- 8:zh_CN:zh:en_US.UTF-8:en_US:en”SYSFONT=”latarcyrheb-sun16″#source /etc/sysconfig/i18n重启机器,问题应该解决了。CentOS更改LANG=”zh_CN.GB18030″ SUPPORTED=”zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en”SYSFONT=”lat0- sun16″
 
Linux下中文乱码问题解决方案
从 windows传过来的文件拷到linux下是乱码,俺们又想在linux下显示中文,怎么办呢?我们首先进行测试,linux下的中文是否可以正常显示?答:yes. 所以问题就比较明显了,windows下拷过来的不能显示,说明windows下和linux下支持的格式是不相同的.
linux下一般是采用utf-8的编码,而我们在windows上编辑文件时是gb2312的编码。所以导致中文编码会乱码。要更正这个问题实际上很简单只要把文件转换成utf-8编码格式然后再导入就ok啦。
然后使用如下命令进行转换:
iconv -f gb2312 -t utf-8 test.txt> testutf8.tzt
(-f 就是源编码,-t 转换目标编码,test.txt源文件,testutf8.txt生成目标编码文件)
备注:使用 iconv -l 可以查看系统支持编码格式。当然也可以添加其中的编码格式:
默认为utf8,如果想用其他编码如GBK
手动更改配置文件的命令:
shell> vi /etc/sysconfig/i18n
将LANG=”zh_CN.UTF-8″修改为:
LANG=”zh_CN.GBK”
保存并关闭,运行下面的命令使配置生效:
shell> source /etc/sysconfig/i18n
将终端字符编码显示为简体中文:
shell> vi /etc/profile.d/chinese.sh
添加下面这行:export LC_ALL=zh_CN.GBK
shell> source /etc/profile.d/Chinese.sh
 
解决Linux操作系统下Java的中文乱码问题
在jdk15以后,只需在~/jre/lib/fonts/下建一个fallback目录,把你想在java中使用的字体烤贝到这个目录中即可
以下方法在fc6下测试通过,假设用户的jre路径为 /usr/java/jdk1.6.0_03/jre/
cd /usr/java/jdk1.6.0_03/jre/lib/fonts
sudo mkdir fallback
将C:\WINDOWS\Fonts\simsun.ttc拷贝到 /usr/java/jdk1.6.0_03/jre/lib/fonts/fallback文件夹内 centos5.2配置完成后,正常能显示中文,查看后发现支持utf-8字符集。
而putty和ssh secure shell连接却发现乱码,主要表现为执行vim乱码,su命令乱码。
使用$locale命令查看,出现如下:
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:zh
LC_CTYPE=”zh_CN.UTF-8″
LC_NUMERIC=”zh_CN.UTF-8″
LC_TIME=”zh_CN.UTF-8″
LC_COLLATE=”zh_CN.UTF-8″
LC_MONETARY=”zh_CN.UTF-8″
LC_MESSAGES=”zh_CN.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=
解决方案:
1. 对于putty0.6版本
a.修改centos上/ect/sysconfig/i18n内容为:
LANG=”zh_CN.UTF-8″
b.修改putty的configuration窗口内windows->Appearance->font setting为新宋体,10号字。
修改Translation的Receive data assumed to be in which character set为:
UTF-8。(因为下来列表中没有中文字符集,GB2312或cp936)。
这样修改完成后,putty就正常支持中文显示了。
2.对于ssh secure shell版本。
a.将配置的字体改成宋体,但是还是乱码,
b.修改centos的/ect/sysconfig/i18n内容为:
LANG=”zh_CN.GB18030″
LANGUAGE=”zh_CN.GB18030:zh_CN.GB2312:zh_CN”
SUPPORTED=”zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en”
SYSFONT=”latarcyrheb-sun16″
—以上内容是网上找到了,照着写了。
发现连接ssh secure shell可以正常显示中文。
用$locale查看,上面看到的配置都变成了GB18030编码了
** 但是又用putty连接,却又变成了乱码,我理解因为putty仍然用的是utf8编码,
而配置ssh secure shell时,将centos改成gb18030编码了,所以乱码。
c.到服务器上,重新启动了centos,发现显示中文也正常。
3. 如果发现ssh secure shell有问题,或相关的引起问题,则重新配置putty使用,
配置方案可以参考上述配置。
结论:
因为ssh secure shell窗口符合window显示,所以暂时定为使用ssh secure shell客户端。
而其也绑定了ftp上传功能,相对方便。
变化:考虑建立mysql等多处使用utf-8编码,所有仍然使用putty客户端,系统编码改成utf-8

0 0
原创粉丝点击