Spring 3 MVC:如何存储表格中的€符号? [英] Spring 3 MVC: How to store € symbol from form?
问题描述
我正在使用Spring 3 MVC和MySQL 5作为数据库。
I am using Spring 3 MVC and MySQL 5 as my DB.
我已经使用Spring表单标签创建了一个表单,用于更新数据库中的对象。
I have created a form using Spring form tags for updating an object in my database.
我输入票价:€35英寸到该表单的文本输入字段之一,并保存该物品。然后,当我在显示页面中查看项目时,文本显示为票价:?35。
I enter "Ticket price: €35" into one of this form's text input fields and save the item. Then when I view the item in a display page, the text appears as "Ticket price: ?35".
如果我使用MySql查询浏览器直接在数据库中输入机票价格:35欧元,则欧元符号会在显示页面上很好地显示。
If I enter "Ticket price: €35" directly into the database using MySql Query Browser, then the euro symbol displays fine through the display page.
我需要做些什么,以便我的Spring表单将欧元符号正确保存到数据库中?
What do I need to do so that my Spring form saves the euro symbol correctly to the database?
更新:
您好,我尝试过您的建议Bozho,没有运气..我的web.xml看起来像这样:
Hi, I tried your suggestion, Bozho, with no luck.. my web.xml looks like this:
<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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>baseApp</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>baseApp</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
还有其他想法吗?
推荐答案
使用spring字符编码过滤器。在 web.xml
Use the spring character encoding filter. In web.xml
<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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
并将其映射到默认servlet
And map it to the default servlet
然后,您的MySQL连接字符串应如下所示:
Then, your MySQL connection string should look like this:
jdbc:mysql://localhost/dbName?characterEncoding=utf8
这篇关于Spring 3 MVC:如何存储表格中的€符号?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!