現在、jspページ内のクラスのメソッドからutf-8でエンコードされた文字列を返していますが、文字列のほとんどの文字は問題ありませんが、すべてが�としてエンコードされているため、όなどの文字列で問題が発生します。
この問題はどのように解決できますか?
コンテンツをutf-8としてエンコードするために、jspページに必要な正しいディレクティブがあります。
私の文字列の内容はギリシャ語です
このディレクティブを使用しました<%@page contentType="text/html;charset=UTF-8"%>
か?
これによりcontent-type
、utf-8とpageEncoding
私は同じ問題を抱えていましたが、web.xmlに春からCharacterEncodingFilterを追加すると、次のように修正されました。
<filter>
<filter-name>SetCharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
プロジェクトでspringを使用しなくても使用できます(spring-web-xxx.jarをダウンロードするだけです)。
または、これを行う独自のフィルターを作成できます。
request.setCharacterEncoding("UTF8");
response.setCharacterEncoding("UTF8");
たとえば、grepcode.comでorg.springframework.web.filter.CharacterEncodingFilterのソースコードを見つけて、それが何をするのかを正確に確認できます。
私が次のことをした方法:
Eclipse IDEを使用しており、[ウィンドウ]>[設定]>[一般]>[ワークスペース]>[テキストファイルのエンコード]をUTF-8に設定しています。
その後、私のすべてのエンコーディングの問題は、魔法のように消えました!!!!!
誰かがこれを説明できますか?