java里的中文乱码问题总结。

哎,java和ruby都在中文处理上有不少问题(其实也不是问题,只是比较麻烦)。学习这些语言,几乎面临的第一个问题就是处理好中文显示,如果在这方面它能像.net 那以方便就好了。以下是暂时发现的中文问题的解决方案。
Servlets的中文显示问题:
response.setContentType("text/html;charset=gbk;");

response.setCharacterEncoding("GBK")

JSP页面的中文显示问题:
<%@ page  pageEncoding="GBK"%>

页面的中文参数传递问题:
1、处理POST来的中文参数:
(1)接收参数前调用request.setCharacterEncoding("gbk");
(2)使过过滤器设置,如果使用spring,里面有现成的过滤器。
<filter>
   <filter-name>CharacterFilter</filter-name>
   <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
   <init-param>
    <param-name>encoding</param-name>
    <param-value>GBK</param-value>
   </init-param>
  </filter>
  <filter-mapping>
   <filter-name>CharacterFilter</filter-name>
   <url-pattern>/app/*</url-pattern>
  </filter-mapping>

2、处理GET方法传来的中文参数:
打开Tomcat的conf/server.xml文件
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding='GBK'/>
红色字体为新加入的内容。

使用Hibernate与Mysql数据库,保存的东西在Mysql中查询时显示乱码:

要设置Hibernate中的连接字符串的useUnicode属性和characterEncoding属性。例如:
jdbc:mysql://localhost:3306/fwzj?useUnicode=true&amp;characterEncoding=gbk

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值