当我在我的网络应用程序中提交表单时,一些字符(例如德语umlauts)在进入我的控制器时就会被破坏。像üäö
这样的字符串就像üäö
一样。我该如何解决这个问题?
我的设置如下:
基于我已经在stackoverflow上找到的答案,我试过了以下事情。
将这些行添加到jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
...
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
pom.xml中的spcified编码:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
<plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
<plugin>
将eclipse中的编码更改为UTF-8。
在调查我观察到的问题时。
<p>öäü</p>
)输出这些字符时,它们会在浏览器中正确显示。更新:
通过将CharacterEncodingFilter添加到我的web.xml
来解决我的问题答案 0 :(得分:0)
查看$ TOMCAT_HOME / conf / server.xml文件并检查编码设置:
<Connector port="8080" ... URIEncoding="UTF-8" />
看来Tomcat需要UTF-8的这个设置来处理HTTP请求值,比如你的GET表单提交中的请求参数(也可能是POST)。
答案 1 :(得分:0)
每当出现有关字符编码的问题时,我都会使用字符的UNICODE表示来修复它们。目前我只尝试使用韩语和德语字母。