시행착오

아파치, 톰캣 연동 한글 깨짐 해결

조규현15 2015. 1. 16. 11:44
반응형

기존에 음악 스트리밍을 만들면서 한글 꺠짐을 해결한 적이 있다.


그 때는 jsp 내부에서 path를 server로 보내 해당 path의 mp3을 가져와서 html문서의 음악 플레이어로 파일을 보냈다.


이런 경우는 request.(~) 를 사용하지 않기에 2개의 파일을 변경해야한다.


$TOMCAT_PATH/conf 의 server.xml과 web.xml을 변경해야 한다.


GET방식의 포팅은

server.xml에서

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" URIEncoding="utf-8"/>


을 해줘야 한다.

POST방식의 포팅은

web.xml에서


> 톰캣 7.0 기준

<filter>

<filter-name>setCharacterEncodingFilter</filter-name>

<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value>

</init-param>

<async-supported>true</async-supported>

</filter>

    <filter-mapping>

        <filter-name>setCharacterEncodingFilter</filter-name>

        <url-pattern>/*</url-pattern>

    </filter-mapping>


주석을 지운다.

>spring framework는 다르므로 검색이 필요하다


> 기본적으로 jsp는 utf-8로 헤더에 정의되어 있다는 가정!



문제는 지금부터 tomcat의 8080을 사용하는 것이 맘에 안들었기에

아파치 톰캣 연동을 했는데 대부분 mod_jk.so를 사용한다.

그래서 mod_jk를 사용한 연동을 했다.

> 아파치, 톰캣 연동에는 3가지 방식이 있다


> tomcat-connectors-1.2.37-windows-i386-httpd-2.2.x은 검색하면 받을 수 있다.

하지만 여전히 한글 path가 %~ 로 꺠진다.


삽질 끝에.. 해결방법은


추가적으로 server.xml에서 AJP(연동시 사용하는 port)에도 utf-8 포팅이 필요했다.

<Connector port="8009" protocol="AJP/1.3"  redirectPort="8443" URIEncoding="utf-8"/>


 그럼 수고~


> http://kyuhyuk.kr/m/post/331

> http://blog.daum.net/_blog/BlogTypeView.do?blogid=0SYfl&articleno=184&categoryId=15&regdt=20100313125200

반응형

'시행착오' 카테고리의 다른 글

EMS 수정  (0) 2015.04.03
Hadoop file IO  (0) 2015.01.28
canvas 삽질 정리  (0) 2015.01.15
블로그에 코드 넣기  (0) 2015.01.08
Jersey 활용기  (0) 2015.01.08