하츠의 꿈

Ajax <--> PHP 한글 깨지는 현상 해결 본문

엔지니어스 마인드/PHP

Ajax <--> PHP 한글 깨지는 현상 해결

명섭이 2009. 4. 21. 14:51
별 스럽지 않게 생각하는 것들이 보통 생각이 안난다.
Ajax에서 한글 깨지는 것을 여러번 보았건 만.. -_-;;

1. Ajax를 이용해 PHP에서 한글로 javascript에 값을 던지는 경우에 한글이 깨진다.
PHP -> javascript 인 경우
www.itpass.co.kr 의 생방송특강창에서 javascript로 1분마다 한번씩 Live인지를 체크하기 위해서 PHP에 물어본다.
요청을 받은 PHP는 다시 javascript에게 결과 값을 던저준다.  이 때 Live이면 한글 강의 제목을 던져준다.

 - 던지는 PHP에서 값 처리 : rawurlencode(iconv("CP949", "UTF-8", $return_str))
 - 받는 Javascript에서 값 처리 : decodeURIComponent(result_str)
* PHP의 $return_str == Javascript의 result_str

2. Ajax를 이용해 Javascript에서 값을 PHP에게 주는 경우 한글이 깨진다.
Javascript -> PHP 인 경우.
HTML페이지의 특정값을 PHP에게 주는 경우에도 한글을 처리해서 던저줘야 한다.

  - 던지는 Javascript에서 값 처리 : encodeURIComponent(str)
  - 받는 PHP에서 값 처리 : iconv("UTF-8", "CP949", rawurldecode($str))
  * Javascript의 str == PHP의 $str



Comments