проблема с кодировкой при записи в базу mysql на heroku (java, spring)

Залил на хероку приложение, русские символы в базу записываются как "????".

Не помогло:

Добавление к конфигурации

@Configuration
@EnableWebMvcSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        CharacterEncodingFilter filter = new CharacterEncodingFilter();
        filter.setEncoding("UTF-8");
        filter.setForceEncoding(true);
        http.addFilterBefore(filter,CsrfFilter.class);
        //rest of your code   
    }
//rest of your code
}

Так же не помогло добавление

public class MessageSecurityWebApplicationInitializer extends AbstractSecurityWebApplicationInitializer {
@Override
protected void beforeSpringSecurityFilterChain(ServletContext servletContext) {
    FilterRegistration.Dynamic characterEncodingFilter = servletContext.addFilter("encodingFilter", new CharacterEncodingFilter());
    characterEncodingFilter.setInitParameter("encoding", "UTF-8");
    characterEncodingFilter.setInitParameter("forceEncoding", "true");
    characterEncodingFilter.addMappingForUrlPatterns(null, false, "/*");
    }
}

Так же не помогло добавление к ссылке базы ?useUnicode=true&characterEncoding=UTF-8

По статье http://hosting-vds-vps.ru/hosting/mysql.html после команды SHOW VARIABLES LIKE 'char%'; все было utf8, кроме character_set_server, он был как раз latin1. Может в этом проблема? Но командой изменить эту переменную не получается, отказано в доступе.

При локальном запуске программы с использованием этой же базы все работает нормально. База ClearDB MySQL. Весь интернет уже перерыл, не могу найти решение.

UPD: Не помогло Spring Boot, FreeMarker и кодировка Windows-1252


Ответы (0 шт):