출처 : http://blog.daum.net/gujjy/114


tomcat 으로 mysql 접속시 인코딩이 깨어질 때 체크해야 할 것들.


1. 데이타베이스 및 테이블 생성 시 인코딩 적용

  CREATE DATABASE 디비명 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

  CREATE TABLE 테이블명(
    컬럼들~~~~
)ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT='테이블 주석';


2. jdbc 데이터 소스 생성 시 인코딩 적용

  jdbc:mysql://서버주소:포트/디비명?useUnicod=true&characterEncoding=utf8


  &는 xml 에서는 &로 적어준다.


3. web.xml에 인코딩 필터 적용

<filter> 
<filter-name>encodingFilter</filter-name> 
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
<init-param> 
<param-name>encoding</param-name> 
<param-value>UTF-8</param-value> 
</init-param> 
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


4. Get 파라메터 한글 깨짐 적용

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


  URIEncoding을 적용하면 get으로 한글을 보낼때 깨지 않는다.




저작자 표시
신고

참조 : http://devday.tistory.com/entry/%EC%9D%B4%ED%81%B4%EB%A6%BD%EC%8A%A4-Eclipse%EC%97%90%EC%84%9C-%ED%86%B0%EC%BA%A3-Tomcat-%EC%82%AC%EC%9A%A9-%EC%8B%9C-%ED%95%9C%EA%B8%80-GET-%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0%EA%B0%80-%EA%B9%A8%EC%A7%88-%EB%95%8C


톰켓 사용시 get 파라메터가 인코딩이 깨어질 때가 있다.

server.xml에 Connector에 옵션을 주면 된다.


아파치 등과 같이 WEB서버와 연동시에는 AJP 커넥터에도 URIEncoding을 달아준다.



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




web.xml에 인코딩필터를 달아준다.

<filter> 
<filter-name>encodingFilter</filter-name> 
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
<init-param> 
<param-name>encoding</param-name> 
<param-value>UTF-8</param-value> 
</init-param> 
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


저작자 표시
신고

'IT분야 > Server' 카테고리의 다른 글

[Server]Tomcat max thread 변경  (0) 2013.12.13
[Server]Tomcat 메모리 변경  (0) 2013.12.13
[Tomcat]tomcat get 한글 깨짐  (0) 2013.12.10
[Tomcat]PermGen space  (0) 2012.11.04
Weblogic 메모리 PermGen space 에러.  (0) 2012.11.04
[Apache+PHP+MySQL] Windows 2003 Server APM 셋팅  (0) 2010.12.20

출처 : http://www.cocoadev.co.kr/tag/RSS

HTTP 로 데이터를 전송 받을 때 한글이 깨어지는 경우가 있었다.
아래와 같이 넘어온 데이터의 인코딩을 변경 해 주면 된다

receiveData 는 HTTP 요청 후 받은 데이터(NSData)

NSString *str = [[NSString alloc] initWithData:receiveData encoding:0x80000000 + kCFStringEncodingDOSKorean];
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];

다시 NSString으로 변경 해서 출력 해 보면 잘 나온다.

저작자 표시
신고