2017-05-04 32 views
0

WebアプリケーションでSpring MVCバージョン4.3.8.RELEASEを使用しています。それは正しくないUnicode文字を保存します。Spring MVCでUnicode文字が正しく表示されない

私は多くのビューポイントをチェックして

enter image description here

(1)MySQLデータベース、それがNVARCHARである、ないpom.xmlでVARCHAR

(2)では、I追加

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 

(3)JSPページでは、私が追加

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> 

(4)web.xml内部に、私は追加

<filter> 
    <filter-name>encodingFilter</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>encodingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

(5)豆制御メッセージで、I追加

<beans:bean id="messageSource" 
      class="org.springframework.context.support.ResourceBundleMessageSource"> 
    <beans:property name="basename" value="META-INF/messages/messages"/> 
    <beans:property name="defaultEncoding" value="UTF-8"/> 
</beans:bean> 

(6)ViewResolverで、Iは、他にもプロパティを追加UTF- 8 ...

しかし成功しません。それを修正するには?

これは私のプロジェクトです:https://github.com/donhuvy/temp_unicode

+0

まず、ReloadableResourceBundleMessageSourceクラスを使用してみることができますか? –

+0

私は 'ReloadableResourceBundleMessageSource'の設定も追加しますが、エラーをコンパイルします。 –

+0

org.springframework.web.filter.CharacterEncodingFilterを削除しようとしましたか? –

答えて

0

疑問符は、それが表に挿入されたとしてデータを台無しにされたこと(この場合は)私に教えてください。つまり、ベトナム人は失われてしまいます。

ここで、代わりに何をするかを把握する。 Trouble with utf8 characters; what I see is not what I stored

  • 「ベストプラクティス」をお読みください。何が間違っていたのかを指摘するかもしれない。
  • 「質問マーク」について読むことができます。それはおそらく問題の原因を提供します。
  • SELECT HEX(...)...; Điện lạnh、正確に(utf8またはutf8mb4に)格納するとC490 69 E1BB87 6E 20 6C E1BAA1 6E 68になります。

あなたのコメントÄ?iá»?n lạnh - それはテーブルからフェッチした後でしたか?もしそうなら、それは遅すぎる。

関連する問題