Я следую этому уроку Baeldung и, хотя языки меняются правильно, всякий раз, когда я пытаюсь перейти на язык, основанный на кириллице (болгарский, русский), символы - это просто вопросительные знаки.Я размещаю свое приложение на Heroku.
Я пытался выполнить heroku config:add LANG=en_US.UTF-8
в CLI Heroku, но это не имело никакого эффекта.
Это код для моих LocaleResolver
, ReloadableResourceBundleMessageSource
, LocaleChangeInterceptor
и переопределенных addInterceptorsmethod
@Bean
public LocaleResolver localeResolver() {
SessionLocaleResolver slr = new SessionLocaleResolver();
slr.setDefaultLocale(Locale.US);
return slr;
}
@Bean
public ReloadableResourceBundleMessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
@Bean
public LocaleChangeInterceptor localeChangeInterceptor() {
LocaleChangeInterceptor lci = new LocaleChangeInterceptor();
lci.setParamName("lang");
return lci;
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(localeChangeInterceptor());
}
Я ожидаю получить "Добре дошъл" (Добро пожаловать на болгарском языке), однако я просто получаю ???????вместо этого
РЕДАКТИРОВАТЬ 1 После добавления Heroku Locale Buildpack при попытке развернуть приложение в Heroku появляется следующая ошибка:
-----> Locale app detected
cat: /tmp/build_1406e9f58f41cacf3931deb52b55d687/.locales: No such file or
directory
! Push rejected, failed to compile Locale app.
! Push failed