本地测试数据正常,发布到服务器(centos)后,部分出现乱码,通过检查,数据库中信息都是正常的。
这种情况,基本可以断定,局部的代码和系统相联系所造成的。
在/etc/profile中设置:
export LC_ALL="zh_CN.GB18030"
设置以后,ok!
****************************
就是从数据库中取出来时,在存入linux的文件里时,在字符流时制定编码格式。代码如下:
FileOutputStream fos=new FileOutputStream(new File(filePath),true);
Writer out=new OutputStreamWriter(fos,"UTF-8");
out.write(s);
out.write("\n");
out.flush();
fos.close();
out.close();
**********************
vi .bash_profile
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"
只改第一个不管用,好像第二个尤其重要,必须改。
*******************
1、console终端乱码
在/etc/profile文件的最后一行添加如下内容:
export LC_ALL="zh_CN.GB18030"
2、xwindow终端乱码
在/etc/sysconfig/i18n文件的最后一行添加如下内容:
export LC_ALL="zh_CN.GB18030"
**************************
乱码分两种情况:
1.终端(纯shell界面)的乱码
vi /etc/profile
export LC_ALL="zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:zh_CN.BIG5"
保存退出,reboot系统即可..
2.X-window(图形界面)的乱码
vi /etc/sysconfig/i18n
LANG="zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:zh_CN.BIG5"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:zh_CN.BIG5"
保存reboot即可...
*********************
新发了台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个性的内容为根目录下,要注意权限
**************************
每次装完linux,用SSH连接,中文总是显示乱码。51Testing软件测试网
解决方法:编辑/etc/sysconfig/i18n,将其中的 LANG="zh_CN.UTF-8" 改为 LANG="zh_CN.GB2312" 。
&m^%k7X6X7IQ051Testing软件测试网 K!W|,r8cV&r5N
断开重新连接。
****************************
linux下中文乱码问题解决方案 (2008-06-07 12:55:45)
标签:linux windows 乱码 中文显示 it 分类:linux&mysql
从 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的中文乱码问题
发布时间:2008.03.20 06:34 来源:赛迪网 作者:skid
在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文件夹内
ok!
***************************
相关文章:
如何解决Tomcat下中文乱码问题?
我的乱码问题处理汇总
struts处理中文乱码问题总结
推荐圈子: Tapestry
更多相关推荐 现有个项目,运行于Linux平台下的tomcat服务中,在页面中查看传递的中文参数值,是乱码。解决方案如下,
第一种方法:在tomcat的server.xml中,对connector添加 URIEncoding="GBK"。
第二种方案:在接受参数程序中,设置语言编码。
文章分类:操作系统
问题描述:
一时心血来潮随便写了个AWT程序部署在Linux下,想测试一下JAVA的跨平台能力,结果发现功能一切正常,但中文都显示成了一个个的方块。
问题解决:
一开始以为是系统语言设置问题,输入命令:
#locale -a //查看系统支持语言
#LANG="zh_CN.utf8" //设置系统语言
设置完成后再次运行程序,发现问题依旧如故,这次是真的一点头绪也没有了,再次去网上搜索发现可能是JAVA JVM中字体支持过少的缘故,于是找到<JAVA_HOME>/jre/lib/fonts目录,执行:
#mkdir fallback
再找到Linux系统下的字体文件存放位置/usr/share/fonts/truetype/,我这里是OpenSUSE 11.2,其他的系统可能位置不太一样,因为不清楚具体需要哪种字体文件,所以将目录下的所有字体文件全部拷到刚才建立的fallback目录中,然后再 次在终端中运行程序,终于看到的了熟悉的中文界面。
注:此方法仅支持JDK1.5及以后版本,JDK1.4需要修改JAVA JVM的字体配置文件,在此处就不多赘述了。