您的位置:首页 > 编程语言 > Java开发

Spring+Hibernate应用中怎样解决中文乱码问题

2006-03-28 19:46 423 查看
这些东西不难,但是如果满处找资料也挺浪费时间。为了防止下次碰到类似问题又忘了怎么做,并且方便别人,特记录在此。

1.所有的jsp页面的第一行都加上这句<%@ page contentType="text/html; charset=UTF-8"%>,目地是使jsp页面支持多种语言。

2.在web.xml最上面加上如下代码:<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 <filter>
  <filter-name>CharacterEncodingFilter</filter-name>
  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  <init-param>
   <param-name>encoding</param-name>
   <param-value>UTF-8</param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>CharacterEncodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

.............

这是在配制一个过滤器,目的是使所有的用户请求数据的编码格式统一成"UTF-8"格式。以上用的是spring提供的过滤器,也可完全以自己写,可参考org.springframework.web.filter.CharacterEncodingFilter.java源代码。

3.用mysql server instance configuration wizard把mysql的字符集设置成utf8.在设置字符集的那一步,注意选择选择manual selected default character set/collation单选按钮,否则还是默认的lartin1字符集。

4.创建数据库。

5.把spring的applicationContext.xml配制文件中的dataSource项中的url写成这个样子:

  <property name="url">
   <value>jdbc:mysql://localhost:3306/bbscs??useUnicode=true&characterEncoding=utf-8</value>
  </property>。

这样,页面上的汉字和数据库中的汉字就都不是乱码了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息