태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.


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
php Ajax 한글 처리  (0) 2012.04.20
mysqldump 사용하기  (0) 2012.04.18
PHP 설정 파일  (0) 2012.04.17
블로그 이미지

구본숭 하늘을사랑한사람

진실된 사람으로 태어 나기 위한 조건들, 사랑하기 위해 필요한 것을 찾습니다.