W moim application.properties
dodaję niektóre atrybuty niestandardowe.Kodowanie UTF-8 atrybutów application.properties w Spring-Boot
custom.mail.property.subject-message=This is a ä ö ü ß problem
W tej klasie mam reprezentację niestandardowych atrybutów.
@Component
@ConfigurationProperties(prefix="custom.mail.property")
public class MailProperties {
private String subjectMessage;
public String getSubjectMessage() {
return subjectMessage;
}
public void setSubjectMessage(String subjectMessage) {
this.subjectMessage = subjectMessage;
}
I tu mogę korzystać MailProperties
:
@Service
public class SimpleUnknownResponseMessage extends MailProperties implements UnknownResponseMessage{
private JavaMailSender javaMailSender;
@Autowired
public SimpleUnknownResponseMessage(JavaMailSender javaMailSender) {
this.javaMailSender = javaMailSender;
}
@Override
public void placeUnknownResponse(BookResponse bookResponse) {
MimeMessage message = javaMailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(message, "UTF-8");
helper.setSubject(this.getSubjectMessage());
javaMailSender.send(message);
} catch (MessagingException e) {
e.printStackTrace();
}
}
Podczas debugowania widzę, że moja zmienna this.getSubjectMessage()
ma tę wartość Wewnątrz: This is a ä ö ü à problem
. Tak więc przed wysłaniem mojej poczty mam już problem z kodowaniem UTF-8.
Sprawdziłem już kodowanie pliku application.properties
i jego UTF-8.
Moje IDE (STS/Eclipse) i właściwości projektu są również ustawione na UTF-8.
Jak ustawić kodowanie UTF-8 dla tekstu moich atrybutów niestandardowych w pliku application.properties
?
Pamiętam, że czytałem gdzieś, że Java spodziewa się, że pliki '* .properties' są zakodowane w ISO-8859-1 i dlatego Spring traktuje' application.properties' jak w ISO-8859-1. Zobacz pytanie: [zmiana ustawień domyślnych Spring Boot?] (Http://stackoverflow.com/questions/27882191/spring-boot-default-properties-encoding-change). Możliwe rozwiązanie: użyj plików YAML zamiast plików właściwości. – Jesper
@Jesper tak, sprawdziłem też tę odpowiedź. Wciąż mam nadzieję, że istnieje może inne rozwiązanie dla plików właściwości. – Patrick