eclipse启动tomcat项目乱码而终端启动tomcat正常的解决办法

部署在eclipse上的web程序访问会出现乱码,只要是涉及到中文增删改,string转码都会出现乱码,eclipse上使用的是tomcat服务器,数据库是oracle。而 直接使用tomcat部署程序 则不会出现乱码。windows简体中文版,java默认启动时file.encoding=GBK。但是 在eclipse中启动时  用utf-8  那么内嵌启动时自动设置了file.encoding=UTF-8   这样2者不一致就出现了乱码   只要改成gbk就可以跟终端运行的情况一样,解决这个问题。当然  你也可以修改oracle的连接时指定数据库编码或者 file.encoding 

Strut2 + MySql + Hibernate + ajax(jQuery)中文乱码解决办法: 
1. 网页页面使用utf-8 
<meta http-equiv="Content-type" content="text/html; charset=utf-8"> 

2. ajax默认使用utf-8传输数据, 但最好使用post, 不要使用get 

3. Struts2中使用UTF-8. 
3.1 在struts.properties中加上: struts.i18n.encoding=UTF-8 
[3.2 使用Filter: 从页面中传输数据到Struts2, 需要使用过滤器把数据在交给struts2前转换成utf-8的: http://stevieliu.blogchina.com/stevieliu/6223098.html] 
试过不使用3.2照常可以收到中文. 

4. 数据库也要使用utf-8, 在建表时设置好. 
http://imysql.cn/charset_tips 

5. hibernate.cf.xml配置文件中与数据库的连接符串也要标明使用的编码为utf-8: <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mlm?useUnicode=true&amp;characterEncoding=UTF-8</property> 

6: Tomcat也使用UTF-8 
  6.1: Tomcat/bin/catalina.bat中开始部分(大概51行处)添加set CATALINA_OPTS=-Dfile.encoding=UTF-8 
或CATALINA_OPTS="$CATALINA_OPTS -Dfile.encoding=UTF-8" 
  6.2: <Connector URIEncoding="utf-8" port="8080" protocol="HTTP/1.1"  
  connectionTimeout="20000"  
  redirectPort="8443" /> 
Eclipse启动Tomcat会修改Tomcat的运行编码环境,从终端启动的又是另一种编码环境,所以Tomcat的配置也要手动修改 

7: HttpServletResponse(request)也要设置编码:response. 
setCharacterEncoding("UTF-8");

转载于:https://my.oschina.net/mifans/blog/698463

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值