您好,我正在构建一个在Tomcat 6.0.20和JDK 1.6.0_19上运行的Spring MVC Web应用程序。当我通过HTML表单发送一些特殊字符时,其中一些存储为问号?特殊字符不一致
例如这些符号存储正确:€,á,é,í,‰等 但是一些符号被替换为?如:₤,♪,☺
MySQL表字符集是utf-8。我也JSP使用UTF-8
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
我在web.xml中包括org.springframework.web.filter.CharacterEncodingFilter的建议here
当我发3个字符时调试POST请求€一个₤与萤火虫我得到:%E2%82%ACa%E2%82%A4这是正确的,因为E2 82 AC是代码€和E2 82 A4是代码为₤但₤存储为?在数据库中。 当我将₤直接保存到数据库中时,它会正确显示在网页中。
我该如何解决这个问题?
谢谢你这是一个JDBC配置问题。我将这添加到连接url:useUnicode = true&characterEncoding = UTF8,现在它工作。 – Enrique 2010-04-24 22:41:47