Akcentującego nas i innych języków takich jak arabski i mandaryński są trudne.
Chyba nie widziałem ostatniego z tego problemu.
Należy upewnić się, że tekst jest poprawnie zakodowany w dowolnym łączu w łańcuchu.
E.g.
- bazy danych -> Java -> response-> Przeglądarka plików
- Właściwości -> jav-> response-> przeglądarka
- żądania (param/forma) -> response-> przeglądarka
- java - > logger-> konsola
Proponuję po tej wielkiej odpowiedź How to get UTF-8 working in Java webapps?
aby dostosować go do SPRI ng używaj Springa CharacterEncodingFilter.
<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>
Jeśli używasz i18n upewnij się, aby zdefiniować domyślne kodowanie dla ResourceBundleMessageSource np
<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>
Upewnij się, że pliki właściwości są poprawnie zakodowane przy użyciu native2ascii języka Java.
Albo lepiej, jeśli używasz Eclipse Polecam Property Editor plugin.
kiedyś firm trzecich framework psuje i trzeba zrobić „magiczny”
new String(yourstring, "UTF8")
Aby uzyskać więcej informacji, zobacz here
pamiętać, że niektóre z widokiem przeliczniki trzeba również zdefiniować kodowanie.
Czy możliwe jest uzyskanie właściwych znaków, z wyjątkiem tego, że podczas drukowania na konsoli konsola nie obsługuje utf-8? Spróbuj tego: http://stackoverflow.com/questions/2038733/how-do-i-change-a-hell-scripts-character-encoding – gerrytan
To jest post lub prośba o pobranie? Czy możesz dodać rzeczywistą metodę z faktycznymi adnotacjami? –
Jest to żądanie Post i jest to kod: RequestMapping (value = "/ userSignup", method = RequestMethod.POST) \t public String userSignup (\t RequestParam ("name") Nazwa ciągu, RequestParam ("email") String email, RequestParam ("birthdayDay") String birthdayDay, RequestParam ("urodzinyMonth") String urodzinyMont, RequestParam ("urodzinyRok") String birthdayYear, RequestParam ("sex") String sex, RequestParam ("hasło") Hasło łańcucha, RequestParam ("passwordConfirmation") Hasło łańcuchaConfirmation, odpowiedź HttpServletResponse, model ModelMap) { –