ⓦ

Ajax 한글 깨지지 않게 하는 방법을 알아 봅시다~!

· 2006-05-14 (일) 17:55:21 · 7766
아래 Ajax 소개 사이트 글에 보시면 알겠지만 ...... Ajax 게시판.....

http://hooriza.com/sample/ajaxboard/

위에 게시판도 마찬가지로...한글이 깨지지 않게 하는 방법을 알려 주는 내용입니다~!
제가 글을 쓴것은 아니고여~! Phpschool의 김진영님의 글을 가져 온 것입니다~!
위에 링크도 시켜 드렸구여~! 맨아래 출처를 표기 했으니 가서 글을 보시는것도
도움이 되실 수 있을것으로 보입니다~! ^^* 열공 Ajax 하시길 ㅋㅋ

----------------------------------------------------------------------------------------------------------------------------
MSIE에서 XMLHTTPRequest를 사용해 보려고 하는데, 클라이언트에서 POST 방식으로 보낸 인자의 한글이 서버에서 깨져서 나옵니다. 원래 서버 및 페이지에서 EUC-KR을 사용했는데, 이게 원인인가 싶어서 UTF-8로 바꾼(php.ini의 default_charset) 후에도 여전히 깨지는군요. ( 하하하 => %uD558%uD558%uD558 )

요청을 받는 서버쪽 php 페이지에서 출력한 한글이 다 깨지는 것으로 보아, XMLHTTPRequest에서 한글 텍스트를 어떻게 하는 것 같은데요, FireFox에서도 깨지는 것으로 보아, MSXML의 문제도 아닌 것 같습니다.

XMLHTTPRequest를 이용하여 POST방식의 한글 인자를 서버로 넘기는 데에 성공하신 분, 답변 부탁드립니다.. ^^;

### 클라이언트 요청의 HTTP Header ###
POST /dev/mykms/conversion_handle.php HTTP/1.1
Accept: */*
Accept-Language: ko
Referer: http://www.myleo.net:800/dev/mykms/index.php?location=3&action=edit&id=16
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Host: www.myleo.net:800
Content-Length: 154
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: myleo_no=1; myleo_id=jykim; myleo_name=%B1%E8%C1%F8%BF%B5; clickedFolder=FD_16%5E; highlightedTreeviewLink=FD_16; user_id=%B1%E8%C1%F8%BF%B5; user_status=A; user_email=jykim%40myleo.net; user_admin=Y; user_number=1; user_name=%B1%E8%C1%F8%BF%B5; user_phone_c=016-682-0298

pageContent=Testing%20Purpose%0D%0A%0D%0A%20*%20%uD558%uD558%uD558%0D%0A%20*%20%uD638%uD638%uD638%0D%0A%20*%20%uD55C%uAE00%uC774%20%uB41C%uB2E4.&ruleCode=

### 서버 응답의 HTTP Header ###

HTTP/1.1 200 OK
Date: Wed, 21 Sep 2005 04:17:36 GMT
Server: Apache/2.0.54 (Unix) PHP/5.0.4
X-Powered-By: PHP/5.0.4
Content-Length: 102
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8


Testing Purpose

* %uD558%uD558%uD558 (원래 하하하)
* %uD638%uD638%uD638 (원래 호호호)
* %uD55C%uAE00%uC774 %uB41C%uB2E4.




김진영 05-09-21 13:30
문제를 약간 돌려서 해결하자면, XMLHTTPRequest에 넘기는 한글을 아스키로 인코딩하거나, %uD558%uD558%uD558 와 같은 메시지를 디코딩하면 될 것 같은데, 이 방법을 아시는 분 답변주세요.. ^^;;

문제를 약간 돌려서 해결하자면, XMLHTTPRequest에 넘기는 한글을 아스키로 인코딩하거나, %uD558%uD558%uD558 와 같은 메시지를 디코딩하면 될 것 같은데, 이 방법을 아시는 분 답변주세요.. ^^;;

김진영 05-09-21 13:57
더 찾아보니 x-www-form-urlencoded라는 방식으로 POST로 넘긴 모든 값이 인코딩된다고 하는군요..

더 찾아보니 x-www-form-urlencoded라는 방식으로 POST로 넘긴 모든 값이 인코딩된다고 하는군요..

김소하 05-09-21 14:06
저도 한글 때문에 고민했다가 이렇게 해결한 적이 있네요...

보내는 페이지에선
자바스크립트로 문자열을 encodeURIComponent(str) 이런식으로 변환해서 넘기고..

받는 PHP페이지에선
$str = iconv("UTF-8", "CP949", $_POST[str]); 이런 식으로 처리해보세요.

저도 한글 때문에 고민했다가 이렇게 해결한 적이 있네요...

보내는 페이지에선
자바스크립트로 문자열을 encodeURIComponent(str) 이런식으로 변환해서 넘기고..

받는 PHP페이지에선
$str = iconv("UTF-8", "CP949", $_POST[str]); 이런 식으로 처리해보세요.

바람이 05-09-21 14:31
즉, xmlhttp는 유니코드를 지원하므로...받을때 //김소하님처럼 하면 되겠죠...

즉, xmlhttp는 유니코드를 지원하므로...받을때 //김소하님처럼 하면 되겠죠...

김진영 05-09-21 19:14
감사합니다~ 덕분에 해결했습니다~

감사합니다~ 덕분에 해결했습니다~

엘리 06-02-27 13:20
뷁, 샾, 똠 같은 문자가 CP949썼더니 잘 되네요..
감사합니다. 그리고 encodeURIComponent로 인해 특수문자 사용까지 되고요..
김소하님 정말 감사드립니다.
-------------------------------------------------------------------------------------------------------------------------
출처 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_html&wr_id=60301<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 16:55:28 jQuery에서 이동 됨]</div>
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
07-10-13 조회 5,109
07-10-03 조회 4,102
07-10-03 조회 3,291
07-10-03 조회 2,507
07-10-03 조회 4,611
07-10-02 조회 2,948
07-10-01 조회 3,575
07-09-28 조회 3,491
07-09-27 조회 4,552
07-08-16 조회 6,404
07-08-04 조회 2,854
07-07-25 조회 6,106
07-07-05 조회 4,001
07-07-02 조회 4,548
07-06-30 조회 4,447
07-06-20 조회 7,336
07-06-20 조회 3,947
07-06-05 조회 4,117
07-05-26 조회 3,150
07-05-17 조회 9,151
07-05-17 조회 5,194
07-05-04 조회 6,116
07-04-15 조회 6,201
07-04-13 조회 3,970
07-04-11 조회 3,385
07-03-20 조회 3,559
07-03-02 조회 6,786
07-02-27 조회 6,050
07-02-22 조회 4,444
07-01-30 조회 6,254
07-01-30 조회 1만
06-12-20 조회 3,727
06-12-18 조회 4,603
06-12-15 조회 4,584
06-12-15 조회 3,810
06-12-15 조회 3,195
06-11-30 조회 3,638
06-11-27 조회 4,530
06-10-24 조회 6,442
06-10-17 조회 4,752
06-09-22 조회 4,485
06-09-21 조회 5,992
06-09-21 조회 3,916
06-09-15 조회 6,533
06-08-20 조회 3,677
06-07-19 조회 3,322
06-07-14 조회 4,221
06-07-14 조회 4,090
06-07-11 조회 5,698
06-06-08 조회 4,275
06-06-08 조회 4,188
06-05-24 조회 3,500
06-05-24 조회 4,886
06-05-17 조회 3,595
06-05-16 조회 4,348
06-05-14 조회 6,042
06-05-12 조회 3,598
06-05-06 조회 4,250
06-05-06 조회 4,332
06-05-06 조회 3,629
06-05-06 조회 3,701
06-05-06 조회 4,151
06-04-25 조회 4,017
06-03-23 조회 5,475
06-01-20 조회 4,043
06-01-04 조회 4,250
05-12-30 조회 4,125
05-12-21 조회 4,799
05-11-09 조회 4,006
05-11-09 조회 3,788
05-10-09 조회 3,450
05-09-21 조회 6,839
05-08-14 조회 4,320
05-08-04 조회 5,502
05-07-14 조회 4,558
05-06-15 조회 4,949
05-04-23 조회 4,553
05-04-20 조회 5,009
05-04-19 조회 1.1만
05-04-19 조회 5,970
05-03-15 조회 3,786
05-03-15 조회 4,230
05-03-13 조회 2,905
05-03-13 조회 3,431
05-03-13 조회 3,419
05-03-13 조회 2,720
05-03-13 조회 5,766
05-03-13 조회 5,402
05-03-13 조회 4,334
05-03-13 조회 4,629
05-03-13 조회 7,891
05-03-13 조회 4,388
05-03-13 조회 3,470
05-03-13 조회 3,464
05-03-13 조회 8,012
05-03-13 조회 5,467
05-03-13 조회 4,119
05-03-12 조회 3,755
05-03-12 조회 4,469
05-02-24 조회 4,618