linux下乱码问题

来源:互联网 发布:卡洛斯实况巅峰数据 编辑:程序博客网 时间:2024/04/30 08:57

今天在新服务器的tomcat上跑项目的时候 tomcat控制台乱码!
servlet接收参数乱码。

经常要看日志所以在/home目录下写了个脚本

[root@template ~]# cd /home/sh/[root@template sh]# ll总用量 4-rwxr-xr-x 1 root root 54 616 18:08 showtomcatlog.sh[root@template sh]# less showtomcatlog.sh  tail -f /usr/local/tomcat7/logs/catalina-daemon.out showtomcatlog.sh (END) 

权限改为755 以后看日志只要执行这个脚本

控制台乱码解决办法
1.尝试修改tomcat的编码

[root@template sh]# vim /usr/local/tomcat7/conf/server.xml/8080 找到这一行 添加如下  URIEncoding="UTF-8"  <Connector port="8080" protocol="HTTP/1.1"               connectionTimeout="20000"               redirectPort="8443"               URIEncoding="UTF-8"                useBodyEncodingForURI="true"                enableLookups="false"/>

改了之后没有效果

2.尝试修改tomcat 配置文件

[root@template sh]# vim /usr/local/tomcat7/bin/catalina.sh 242行左右#JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`"保留上面注释复制增加一行JAVA_OPTS="-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8"

还是没卵用

3.终于看到一个靠谱一点的建议。修改系统文件

[root@template sh]# vim /etc/sysconfig/i18n原来文件如下LANG="en_US.UTF-8"SYSFONT="latarcyrheb-sun16"修改第一行为LANG="zh_CN.UTF-8"SYSFONT="latarcyrheb-sun16"

在修改为 “zh_CN.UTF-8″ 之前可以使用locale -a 查看服务器是否支持该编

其实早应该想到。之前、在Xshell、putty、SSH Secure Shell Client 等等客户端设置GBK时才不乱码。改了之后客户端要设置成UTF-8

至此乱码问题完美解决。整理下写个日志希望对有需要的童鞋有帮助。感觉设置tomcat配置文件还是有作用的。之前乱码是一串问好?????设置完后是乱码的汉字。改了i18n后乱码解决。

今早发现原来问题没有解决
情况如下,昨天改了编码之后再tail 看日志没有乱码了。但是重启了tomcat之后又出现乱码。 开机自启动不会乱码。手动重启就会出现乱码?
tomcat手动重启后乱码。tomcat重启后乱码

标记一下,待解决

上午忙去了没理它,下午无缘无故自己好了!不再乱码?神奇!

0 0