AJAX를 이용해서 utf-8로 인코딩된 한글 문자열을 post method로 php로 된 페이지에 보낼 경우
그냥 보내서 출력하면 문제 없을 수 있으나 php 페이지에서 파일에 저장하는 경우는 ms949에 적합하지 않은 문자열을 그냥 저장하기 때문에 다음에 ms949로 읽어 올 때 제대로 된 문자열을 읽어올 수가 없다.
이와 같은 경우 데이터를 받는 php 페이지에서 다음과 같은 작업을 한다.
// $_POST['name']에 넘겨받은 utf-8 한글 문자열이 있을 때
$ms949_str = iconv("UTF-8", "CP949", rawurldecode($_POST['name']);
이제 $ms949_str을 파일에 기록하면 다음에 읽을 때 제대로 된 문자열을 읽을 수 있다.
보조자료
AJAX: http://www.w3schools.com/ajax/default.asp
참고문헌: http://ddakker.tistory.com/179, PHP AJAX 한글 문제 기본 인코딩이 ms949일 때
PHP - (ajax) - javascript
보낼때 - encodeURIComponent(category_name)
받을때 - $category_name = iconv("UTF-8", "CP949", rawurldecode($_POST[category_name]));
javascript - (ajax) - php
보낼때 - rawurlencode(iconv("CP949", "UTF-8", "한글"))
받을때 - decodeURIComponent(data.category_name.Text);
'프로그래밍 > php' 카테고리의 다른 글
Mysql table의 AutoIncrement 값을 가져오기 (0) | 2013.07.09 |
---|---|
ORACLE, MSSQL, MYSQL 날짜함수 비교 (0) | 2012.08.08 |
php 한글 연동 시 한글 깨짐현상 복구법 (0) | 2012.07.06 |
mysqldump 사용하기 (0) | 2012.04.18 |
PHP 설정 파일 (0) | 2012.04.17 |