【发布时间】:2010-04-25 05:35:04
【问题描述】:
您好,我正在构建一个在 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" %>
按照here的建议,我已在 web.xml 中包含 org.springframework.web.filter.CharacterEncodingFilter
当我使用 firebug 发送 3 个字符 €a₤ 时调试 POST 请求时,我得到:%E2%82%ACa%E2%82%A4 这是正确的,因为 E2 82 AC 是 € 的代码,而 E2 82 A4 是₤ 但 ₤ 的代码存储为 ?在数据库中。 当我将₤直接保存到数据库中时,它会正确显示在网页中。
我该如何解决这个问题?
【问题讨论】: