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

· 2006-05-14 (일) 17:55:21 · 7752
아래 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건
+
제목 글쓴이 날짜 조회
10-09-25 조회 2,702
10-09-19 조회 2,732
10-09-15 조회 2,738
10-09-15 조회 4,141
10-09-15 조회 3,362
10-09-15 조회 2,472
10-09-07 조회 3,583
10-08-27 조회 4,041
10-06-11 조회 4,199
10-05-31 조회 2,445
10-02-27 조회 4,982
10-02-09 조회 3,730
09-10-10 조회 7,323
09-03-19 조회 3,161
09-02-09 조회 3,436
09-02-09 조회 4,513
08-11-01 조회 2,891
08-09-29 조회 4,542
08-09-26 조회 3,503
08-09-26 조회 3,580
08-09-26 조회 2,716
08-09-26 조회 3,760
08-09-26 조회 3,481
08-09-26 조회 4,244
08-09-18 조회 3,556
08-09-09 조회 3,211
08-08-28 조회 2,749
08-07-06 조회 3,520
08-05-21 조회 4,680
08-05-13 조회 4,521
08-04-17 조회 4,894
08-02-19 조회 3,521
08-01-18 조회 3,828
08-01-10 조회 3,790
07-10-22 조회 3,608
07-10-09 조회 4,238
07-10-03 조회 3,490
07-07-06 조회 4,200
07-07-06 조회 4,412
07-07-06 조회 4,021
07-06-28 조회 3,546
07-06-05 조회 3,551
07-06-05 조회 4,095
07-05-30 조회 3,265
07-05-02 조회 3,675
07-04-15 조회 5,063
07-04-11 조회 3,617
07-04-05 조회 3,905
07-03-31 조회 3,138
07-03-31 조회 4,114
07-03-30 조회 3,716
07-03-24 조회 3,992
07-03-22 조회 3,643
07-03-12 조회 4,395
07-02-16 조회 3,251
07-02-14 조회 5,152
07-02-10 조회 3,975
07-02-09 조회 4,364
07-01-19 조회 4,026
07-01-16 조회 4,946
06-12-16 조회 5,819
06-11-30 조회 3,575
06-11-25 조회 3,674
06-10-15 조회 5,045
06-09-26 조회 5,292
06-09-26 조회 5,411
06-09-22 조회 4,241
06-09-21 조회 3,527
06-09-21 조회 3,613
06-09-02 조회 3,467
06-08-08 조회 5,102
06-07-20 조회 3,700
06-07-17 조회 3,323
06-07-13 조회 4,150
06-07-11 조회 3,444
06-07-11 조회 3,428
06-07-11 조회 3,813
06-06-29 조회 6,030
06-06-19 조회 6,433
06-06-02 조회 3,487
06-05-24 조회 4,976
06-05-14 조회 7,753
06-05-08 조회 3,866
06-02-02 조회 5,438
05-12-16 조회 4,486
05-12-05 조회 5,138
05-06-28 조회 4,086
05-04-11 조회 4,041
05-04-11 조회 4,233
05-04-11 조회 3,299
05-03-13 조회 3,202
05-03-12 조회 4,286
04-12-08 조회 7,761
04-12-01 조회 5,163
04-11-28 조회 3,320
04-11-28 조회 3,162
04-08-05 조회 5,588
04-08-05 조회 4,933
04-08-05 조회 5,532