Web アプリケーションでフォームを送信すると、一部の文字 (fe ドイツ語のウムラウト) がコントローラーに入ると壊れます。文字列のようなüäö
終わりのようなüäö
。この問題を解決するにはどうすればよいですか?
私のセットアップは次のようになります。
- 春のmvc 3.1.2
- maven 3.0.4 または 2.2.1 (両方を試しました)
- トムキャット 7.0.x
- 日食 (sts 3.1.0)
- ウィンドウズ8
スタックオーバーフローですでに見つけた回答に基づいて、次のことを試しました。
これらの行を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 で指定されたエンコーディング:
<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 に変更します。
問題を調査しているときに、次の観察を行いました。
- プロジェクト内のファイル (リソースと Java ファイル) を右クリックして、指定されたエンコーディングを確認すると、UTF-8 と表示されます。
- これらの文字を jsps(fe
<p>öäü</p>
) で出力すると、ブラウザに正しく表示されます。 - 問題は Windows と Linux にあります。
あなたの答えのために前もってthx。
更新:
CharacterEncodingFilterを web.xml に追加して問題を解決しました