SpringBoot - UTF-8 Ne fonctionne pas dans les messages.propriétés
¿Quel est le problème?
Je ne peux pas afficher en UTF-8 les messages que j'ai reçu dans les messages.les propriétés.
Un exemple
<h1 id="logo">Electrónico</h1>
cela fonctionne ok, mais lorsque j'essaie d'utiliser mon message source comme ceci
<h1 id="logo" th:text="#{titulo.electronico}">Electrónico</h1>
- Je obtenir "Electr�nico" au lieu de Electrónico
C'est ma configuration
application.propriétés
spring.messages.encoding=UTF-8
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
pom.xml
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<start-class>demo.Demo</start-class>
<java.version>1.7</java.version>
</properties>
Démo classe
@SpringBootApplication
public class Demo {
public static void main(String[] args) {
SpringApplication.run(Demo.class, args);
}
}
ServletInitializer.class
@Configuration
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Demo.class);
}
@Bean
public ServletRegistrationBean h2servletRegistration() {
ServletRegistrationBean registration = new ServletRegistrationBean(new WebServlet());
registration.addUrlMappings("/console/*");
return registration;
}
@Bean
@Order(Ordered.HIGHEST_PRECEDENCE)
CharacterEncodingFilter characterEncodingFilter() {
CharacterEncodingFilter filter = new CharacterEncodingFilter();
filter.setEncoding("UTF-8");
filter.setForceEncoding(true);
return filter;
}
}
Si vous avez besoin de plus d'informations sur ma configuration, je peux le modifier.
Merci.
Pourriez vous s'il vous plaît inclure votre servlet config?
Votre
Bilan comment puis-je le faire?
L'utilisation de certains éditeur qui prend en charge le codage de commutation. Ou créer ce fichier à partir de l'IDE avec option d'encodage pour
Merci pour votre aide, j'ai le même problème de message.les propriétés, mais j'ai utilisé l'IDE Eclipse. J'ai donc cliquer avec le clic droit de la souris dans le fichier et je vais dans les propriétés. Lors de l'ouverture de la fenêtre, j'ai vu Texte d'encodage de fichier et j'ai changé pour de l'UTF-8 et a fonctionné!!
Votre
messages.properties
fichier doit être créé dans le UTF-8
.Bilan comment puis-je le faire?
L'utilisation de certains éditeur qui prend en charge le codage de commutation. Ou créer ce fichier à partir de l'IDE avec option d'encodage pour
properties
fichiers. E. g. IDÉE: blog.jetbrains.com/idea/2013/03/...Merci pour votre aide, j'ai le même problème de message.les propriétés, mais j'ai utilisé l'IDE Eclipse. J'ai donc cliquer avec le clic droit de la souris dans le fichier et je vais dans les propriétés. Lors de l'ouverture de la fenêtre, j'ai vu Texte d'encodage de fichier et j'ai changé pour de l'UTF-8 et a fonctionné!!
OriginalL'auteur QoP | 2015-01-23
Vous devez vous connecter pour publier un commentaire.
À lire n'importe quel fichier dans le
UTF-8
encodage il doit être créé dans leUTF-8
avant.Utiliser certains de l'éditeur qui prend en charge le codage de commutation. Ou créer ce fichier à partir de l'IDE avec option d'encodage pour les fichiers de propriétés. E. g. IDÉE: http://blog.jetbrains.com/idea/2013/03/use-the-utf-8-luke-file-encodings-in-intellij-idea/
OriginalL'auteur Artem Bilan
dans mon cas, j'ai oublié
messageSource.setDefaultEncoding("UTF-8")
, voir http://forum.spring.io/forum/spring-projects/web/42668-solution-for-utf-8-encoding-problem-inside-property-filesCe doit être la accepté de répondre! Aussi, @EmanuelHategan est correct! 🙂 Merci à tous les deux!
OriginalL'auteur ropo
J'espère que cela peut aider les autres. Les différents
code
solutions ne marche pas dans mon cas, mais un éditeur de paramètres n'.Si vous utilisez l'ide, allez à
file encoding
et set global et le projet de l'encodage UTF-8, en va de même pour ladefault encoding for properties files
et -très important - vérifier laTransaparent native-to-ascii conversion
.Si vous ouvrez le fichier avec un bon éditeur de texte, vous remarquerez que certains caractères sont écrits avec leur version UTF-8 comme
Dans mon cas, le changement n'a pas déclenché un changement de GIT j'ai donc dû faire un "faux" modification du fichier dans le but de faire un commit et push.
si je coche "Transaparent natif-à-ascii conversion" message de validation avec l'encodage utf-8 de caractères s'affichent correctement, mais après coup sur git, ils endommagés ainsi les autres utilisateurs ne peuvent pas travailler.
OriginalL'auteur Paizo