728x90
반응형

Ajax Character Set (배열 처리)

ajax euckr utf-8

 

Ajax에서 값을 주고 받을 때는 json 을 사용하는데 json_encode(PHP 함수)가 utf-8이어야 인코딩을 해주기 때문에 가장 좋은 방법은 웹문서와 DB를 UTF-8로 사용하는 것이 BEST다. 아래 예제는 euckr을 이미 사용중이거나 사용할 수 밖에 없는 경우에만 해당된다.

 

JavaScript -> PHP

1. 어떤 인코딩 형태로 전송해도 PHP는 캐릭터셋을 변경할 수 있기 때문에 이경우엔 특별한 문제가 발생되지 않는다. 특별한 문제가 발생되지 않는 다는것은 직접 연관배열을 생성할때의 이야기다.

 

PHP -> JavaScript

----------------------------------------------------------------

function getUrlEncode($str) {

    return urlencode($str);

}

 

while( $row = mysql_fetch_row($result) ) {

    $aList[] = array_map(getUrlEncode, iconv('euckr', "utf-8", $row));

}

echo json_encode($aList);

----------------------------------------------------------------

1. array_map

- 배열을 각각 지정된 함수에 대입하는 함수다. 이건 짱이다. 무조건 외워라.

  : $row 필드의 모든 값을 getUrlEncode에 대입한다는 뜻

2. urlencode

- PHP와 JavaScript 양쪽이 지원하고 있는 함수라서 사용했다. 자세한 사항은 'php urlencode' 와 'javascript urlencode' 키워드로 검색

728x90
반응형

'JQUERY > 함수' 카테고리의 다른 글

[jQuery]change() 이벤트  (0) 2014.09.05
jQuery 롤오버  (0) 2014.08.19
Ajax 연동시 history 문제(뒤로가기)  (0) 2014.08.19
선택된 <select>  (0) 2014.08.19
FORM 배열  (0) 2014.08.19
다중 창(popup, iframe)에서 부모창 컨트롤  (0) 2014.08.19
엘레멘트 불러오기  (0) 2014.08.19
JavaScript - JQuery ( click 이벤트 )  (0) 2014.08.08
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,