내가 테스트 한 환경은 다음과 같다
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통신시 한글의 문제점 해결방법이다.
'Program > PHP' 카테고리의 다른 글
[ PHP 파라미터 출력하여 알아보는 방법 ] (0) | 2011.05.30 |
---|---|
[ PHP 에서 DB결과 처음포인터 위치하기 ] (0) | 2010.08.28 |
[ PHP E-mail 전송 ] (6) | 2010.07.03 |
PHP Excel Download Module (21) | 2010.06.22 |
[ PHP5 공통모듈 ] (0) | 2010.06.10 |