2009-05-27 9 views
1

Ich versuche, mit Freemarker einige nepali langauage charcaters in meiner Feder MVC Webapp anzuzeigen,Problem Anzeige Unicode mit Spring MVC

ich habe alles wie ich habe Zeichencodierung Filter in meiner 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> 

My Freemarker-Konfiguration ist wie

<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> 
     <property name="cache" value="true"/> 
     <property name="prefix" value=""/> 
     <property name="contentType" value="text/html; charset=UTF-8"/> 
     <property name="suffix" value=".ftl"/> 
     <property name="exposeSpringMacroHelpers" value="true"/> 
</bean> 

und in Vorlage habe ich

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

definiert Ich sehe nur einige seltsame Charcaters in meiner Seite. Dachte der Antwortheader hat den korrekten Inhaltstyp "text/html; charset = UTF-8"

Nicht sicher was und wo ist das Problem. Ich habe sogar versucht, den Inhaltstyp aus der Controller response.setContentType einzustellen ('text/html; charset = UTF-8");

Hilfe Jungs

+0

wo von Ihrem Gehalt? ist Ihre Datenquelle in einem Format oder einem Typ, der erweiterte Zeichensätze unterstützt? –

+0

eigentlich versuche ich aus messages.properties Datei mit zu lesen <@ spring.message code = 'error-input' /> tag –

+0

Sind Sie sicher, dass die Datei messages.properties selbst UTF-8 codiert ist? Es gibt eine gute Chance (wenn Sie unter Windows sind), dass es eigentlich ISO 8859-1 ist. Könnten Sie ein Beispiel für einen Charakter geben, den Sie erwarten, und was Sie tatsächlich sehen? –

Antwort

0

Sind Sie sicher, dass der Inhalt richtig ist es vielleicht nicht? gültige UTF-8.

Sind die "weird" Zeichen nur ganz am Anfang? Dann könnten sie Windows formatiert UTF-8 BOM (Byte-Reihenfolge Markierung) werden.

+0

i auf mac bin aber sieht aus wie es ist etwas zu mach mit meiner Eclipse-Datei und Inhaltstyp-Zuordnung. –

4

ok ich dieses Problem behoben, i verwendet ReloadableResourceBundleMessageSource anstelle von ResourceBundleMessageSource mit Eigenschaft defaultEncoding zu UTF-8 so musste außerdem einen Klassenpfad für den Eigenschaftswert basename hinzufügen.

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
<property name="basename" value="classpath:messages"/> 
<property name="defaultEncoding" value="UTF-8"/> 
<property name="useCodeAsDefaultMessage" value="false"/> 
</bean> 

es funktioniert jetzt ..

+0

Arbeitete auch für mich, danke für die Veröffentlichung Ihrer Lösung. –