gpt4 book ai didi

java - Spring MVC : How to store € character?

转载 作者:太空宇宙 更新时间:2023-11-04 08:51:31 25 4
gpt4 key购买 nike

我正在使用 Spring 3 MVC,并且我已经设置了一个表单来捕获用户的输入。该表单包括一个用于描述我的模型对象事件中的字符串的文本区域。我对应的 Controller 如下所示:

 @RequestMapping(value = "/admin/event/{eventId}/edit", method = RequestMethod.POST) 
public String updateEvent(@ModelAttribute Event event) {

logger.info("updateEvent(): Event description: " + event.getDescription());

return "redirect:/admin/event/" + event.getId() + "/edit";
}

每当我在表单的描述字段中输入“€”字符并发布表单时,记录的描述都会有一个“?”而不是“€”。

我在 DispatcherServlet 前面使用了 CharacterEncodingFilter,但这并没有解决问题。作为引用,我的 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>

<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>

关于如何正确捕获 € 字符有什么想法吗?

更新:

我之前曾问过一个涉及 MySQL 的类似问题,但正如您从上面的演示中看到的,€ 被转换为 ?完全没有 MySQL 的参与,即在 POST 表单和记录事件描述之间。这就是为什么我再次问这个问题..看来这个问题与Spring无关。

最佳答案

您可以在此处检查一些内容。

  • 首先是 log4j 附加程序的编码。

    log4j.appender.emsSpringLogFile.encoding=UTF-8

例如,在 notepad++ 中打开日志文件,并确保编码为 UTF-8。

  • 第二个是在 firefox 上使用像 firebug 这样的插件,在网络选项卡上检查 post 请求和参数值。

  • 第三步是将以下元信息添加到 jsp 文件的头部:

   < meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8" >

像您所做的那样将编码过滤器添加到您的 web.xml 中。

这适用于我部署在 websphere 6.1 上的 web 应用程序。 spring的版本是spring 3.0.6。

关于java - Spring MVC : How to store € character?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3237898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com