POSTしたリクエストがいつも文字化けする。
Web上を調べると、server.xmlの値を変えないといけないとか
@RequestMappingにproduces = "application/json; charset=UTF-8"を付けろとか
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false"%>がJSPのヘッダに必要だとかありましたが、
結論としては上記のどれでも無かったです。
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "jp.co.jdserve.serviceinfo")
public class AppConfig {
というコンフィギュレーションと
public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
というInitializerを使っています。
このInitializerの方に下記のメソッドを追加すると、
全てUTF-8で登録表示できるようになりました。
/**
* リクエスト、レスポンス共にUTF8で統一する。
*/
@Override
protected Filter[] getServletFilters() {
CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
characterEncodingFilter.setEncoding("UTF-8");
characterEncodingFilter.setForceEncoding(true);
return new Filter[] {characterEncodingFilter};
}
No comments:
Post a Comment