哎,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&characterEncoding=gbk