2016-11-10 3 views
0

내 앱에 임베디드 HTTP 서버용 언더 토우를 사용하고 있습니다. URL 인코딩 및 쿼리 매개 변수의 기본 인코딩은 ISO-8859-1입니다. UTF-8을 사용하고 싶습니다. 나는 문서에서 아무것도 발견하지 못했습니다. 어떤 생각?언더 토우 기본 인코딩 설정하기

답변

1

I defaultEncodingDeploynentInfo으로 설정하십시오. 그것은 나를 도왔다.

DeploymentInfo servletBuilder = 
    Servlets 
     .deployment() 
     .setClassLoader(Main.class.getClassLoader()) 
     .setDeploymentName("myapp").setContextPath("/myapp") 
     .setDefaultEncoding("UTF-8"); 

DeploymentManager manager = Servlets.defaultContainer().addDeployment(servletBuilder); 
manager.deploy(); 

Undertow server = Undertow.builder() 
    .addHttpListener(9090, "localhost") 
    .setHandler(manager.start()) 
    .build(); 

server.start(); 

현재 Undertow의 기본 인코딩은 UTF-8입니다. 또한 비 배포 모드의 경우 옵션을 사용하여 기본 인코딩을 변경할 수 있습니다.

Undertow.builder() 
     .setHandler(...) 
     .setServerOption(UndertowOptions.URL_CHARSET, "UTF8") 
     .addHttpListener(port, host) 
     .build() 
     .start();