[ JQuery Ajax + PHP 한글 처리문제 해결방법 ]
내가 테스트 한 환경은 다음과 같다
WAS : euc-kr
DB : Mysql euc-kr
환경이다.
1. Jquery 를 이용하여 Ajax호출한다.
( 단 한글데이터의 경우 encodeURIComponent를 이용하여 UTF-8 로 인코딩 시켜야 한다. )
params = "mode=getMember"; if(data){ |
2. Mysql Data를 조회한다.
( 조회시 한글 파라미터 값은 별도로 euc-kr로 다시 인코딩 시켜서 맵핑시킨다. )
3. 결과값을 요청한 페이지로 json_encode 함수를 이용하여 리턴시킨다.
$SQL = " SELECT * FROM testDB WHERE 1=1 "; |
[ 참조 ]
위 예제에서 사용한 인코딩 함수는 아래와 같다.
/** * UTF-8 => CP949 로 디코딩 Function */ function decode_cp949($data){ return iconv("UTF-8", "CP949", rawurldecode($data)); } /** * CP949 => UTF-8 로 디코딩 Function */ function decode_utf8($data){ return iconv("CP949", "UTF-8", rawurldecode($data)); } |
4. 최초 요청받은 페이지에서는 받은 값을 출력한다.
위 과정처럼 하면 한글 데이터도 정상적으로 DB와 통신 가능하다.
이제 삽질은 제발 그만하자 흑흑흑....
이상 JQuery를 이용하여 PHP에서 ajax통신시 한글의 문제점 해결방법이다.