|
민용빈 2011-07-29 PM 1:43:25 |
|
|
|
URL을 전송할때는 1바이트 크기의 아스키코드로 전송하는데 아스키코드는 영문, 숫자, 기본적인 특수문자로 이루어져있습니다. 이때 한글은 2바이트 크기로 이루어져 있고 아스키코드 배열에도 속해있지 않는바람에 두개의 아스키코드를 조합해 표현합니다. 이때 %EB%84란건 EB란 아스키코드와 84란코드로 조합되어있죠. |
|
|
|
|
|
|
paintj 2011-07-31 PM 7:30:56 |
|
|
|
query= 뒤에 직접 한글 입력해도 검색 됩니다. 굳이 변환할 필요 없습니다. |
|
|
지상현 2011-08-01 AM 1:46:40 |
|
|
|
>>paintj
변환해야 할 것 같은데요.
창조에서 쓰는 문자열은 ANSI기 때문에 한글 윈도에서 한글은 한글 확장 완성형입니다.
네이버는 검색 문자열 UTF-8로 받습니다. |
|
|
paintj 2011-08-01 AM 2:40:49 |
|
|
|
지상현님 직접 해봐서 압니다. 그냥 한글 때려넣어도 잘 됩니다. |
|
|
paintj 2011-08-01 AM 2:44:07 |
|
|
|
프로그램 자료실에 올려놨습니다. |
|
|
paintj 2011-08-01 AM 2:48:39 |
|
|
|
IE6 기준으로 제작했는데 최신버전(8 혹은 9)에서 깨져서 나올시 코드를 이렇게 바꾸면 잘 작동할것입니다.
인터넷주소("http://search.naver.com/search.naver?&query="+에디트0.문자+"&ie=euckr"); |
|
|
paintj 2011-08-01 AM 2:49:26 |
|
|
|
그렇지만 다른 버전들에서도 굳이 마지막에 &ie=euckr 붙여줄필요 없이 잘 작동할 것 같네요. |
|
|
김동민 2011-08-01 AM 11:25:53 |
|
|
|
그런데 가만 생각해보면~
어떠한 방법으로 잘 되고 안 되고를 떠나서
가급적이면 정석대로(?) 가는 방향이 향후 발생할지도 모르는
문제를 감안하면 여러모로 이롭죠!
실무에서 100% 완벽하게 검증되지 않은 방법으로
무언가를 적용했다가 나중에가서 한 건 터지면
경우에 따라서는 감당 안 됩니다ㅋ
꼼수는 정말 어쩔 수 없을 때 임시방편으로 써야지
그걸 베이스로 하는 게 습관이 되면 장기적으로 봤을 때
그만큼 리스크가 큽니다~
물론! 각자 생각하시는 것이 잘못됐다 라는 것은 아니니
혹시라도 오해 없으시기를 바라며!
실무 뛰면서 엿을 많이 먹어본 사람의 단순한 어드바이스 정도로
받아들여주신다면 무한 ㄳ ㅋㅋㅋㅋㅋ
간만에 커즈닷컴 놀러왔다가 뻘댓글 투척하고 갑니다 잇힝~ |
|
|
paintj 2011-08-01 PM 12:18:15 |
|
|
|
꼼수아닙니다. IE에 query=뒤에 한글을 넣어주면 알아서 utf8으로 변환해서 보내줍니다. 그래서 검색이 잘 되는것이지요 |
|
|
김동민 2011-08-01 PM 1:13:25 |
|
|
|
혹시나 해서 테스트를 해봤는데 이게 관계가 있는지 모르겠으나,
IE에서 URL을 UTF-8로 보내는 옵션의 활성화 여부와 관계없이
query 파라미터에 한글 검색어를 직접 입력해서 보내면
결과가 깨지는군요!
대신 맨 뒤에 ie=utf8 이었나 하는 부분을 제거하고 검색하니
한글로 파라미터를 넘겨도 검색이 잘 됩니다.
프로그램적으로 테스트를 해본 것은 아니고,
IE로 네이버 접속 후 적당히 검색하여 URL 파라미터만 바꿔가면서
진행을 해봤는데 저는 이런 결과가 나오는군요~
오호~ 이상한데!?
왜 저는 paintj 님과 결과가 다를까요?;;
일부러 UTF-8로 URL 보내는 옵션도 바꿔가면서 테스트를 해봤는데
희한하네요~
해서! 뭔가 IE 버전이나 기타 환경적 특성을 타는 것 같은 느낌인데
과연 이러한 사용자적 특성을 개발자가 전부 다 커버할 수 있나~
하는 것이 문제라는 겁니다ㅋ
작성하신 코드가 "꼼수다"라고 말씀드린 부분은 아니었구요!
가급적이면 귀찮더라도 클라이언트의 환경까지 조금이라도
더 많이 커버할만한 코드를 작성하는 것이 좀 더 낫지 않겠는가~
라는 의미로 드린 말씀이었습니다ㅋ
애시당초 검색 키워드 부분을 인코딩해서 파라미터로 던져주는 게
클라이언트 환경이고 자시고 100% 정상적으로 작동할 코드라면,
그렇게 만들어서 보내주는 게 덜 골치아프잖아요?
아, 참고로 제가 사용 중인 IE는 8 버전이구요~ |
|
|
지상현 2011-08-01 PM 1:16:48 |
|
|
|
여전히 저는 바꿔서 보낼 수 있으면 바꿔서 보내는게 좋다고 생각합니다.
알아서 UTF-8로 변환해서 보내신다고 하셨는데, 실은 그렇지 않습니다.
데이터는 한글 확장 완성형으로 갑니다.
다만 네이버가 그걸 처리하는 것 뿐이지요.
URI를 어떻게 보내라는 인코딩 기준은 없습니다. 따라서 데이터가 보내는 대로 갑니다. 자동으로 변환하는 경우는 IE의 경우 URL을 항상 UTF-8로 보냄 같은 옵션을 체크했을 경우구요.
네이버쪽에서는 UTF-8 문자열은 올바른 시퀀스가 있기 때문에 이에 맞지 않은 문자열은 변환 시도하는 것으로 보입니다.
언어가 한글로 설정된 환경에서 네이버를 이용할 때는 99% 잘 되겠지요.
브라우저와 Accept-language, 검색엔진 조합을 바꿔서 테스트 해보세요.
제대로 뜨지 않는 경우가 꽤 나옵니다.
물론 혼자 개인적으로 쓴다거나 하는 거라면 굳이 이렇게 할 필요는 없겠지요. 하지만 그 방법은 꽁수가 맞다고 생각합니다. |
|
|
김동민 2011-08-01 PM 1:37:53 |
|
|
|
네네, 저도 상현님 의견에 한 표!
지금은 다른 업체에게 넘겼지만 예전에 운영하던 큰 시스템이 있었고
저는 이 시스템 인수인계도 제대로 받지 못한 상황에서 운영하다가
단가도 쫌 되는*-_-* 약간 규모가 있는 추가 기능개발을 했던 때가 있었는데,
이 말아먹을 시스템이 소스파일 하나 열어보면
보통 2~3만줄짜리 코드가 떡! 하니 버티고 있고,
분석도 안 되죠~ 주석도 제대로 안 붙어있죠~
뭐 결국은 이 기능을 어떻게든 구현하려고
제가 생각해봐도 좀 무리수로 발코딩을 했었는데
일단 그대로 배포를 때리고 처음엔 별다른 문제가 없나 싶더니만
몇 달이나 지나서야 예외상황들이 하나 둘 터져나오기 시작하더라구요!
뒤늦게 그거 잡느라 고생깨나 했었는데,
바로 이런 상황과 마찬가지로 나중에 문제가 될 소지가 있는 부분을
조금이라도 줄여보자! 라는 것이 제가 위에 장황하게 설명한 내용의
레알 핵심 키 뽀인트 였습니다ㅋㅋ
일은 일대로 열심히 하고 나중에 까이면 짱나잖아요?ㅋㅋ |
|
|
신용주 2011-08-01 PM 1:56:59 |
|
|
|
저도 이와 같은 프로그램을 만든 적이 있어서... 상단에 링크 확인바래요.
말씀하신데로 네이버에서 자동 변환 해서 보여줍니다. 편하게 하시고자 하신다면 이것이 편하겠지요. 그러나... 이 부분이 지원되지 않는다고 한다면 문제가 생기지 않을까요...? |
|
|
지상현 2011-08-01 PM 2:09:45 |
|
|
|
사실 이 상황에서는 이렇게 따질 필요가 없는데 조금 죄송스런 기분도 드네요.
그렇지만 이런 저런 설명은 다 빼놓더라도, 올려주신 프로그램은 제대로 동작하지 않습니다.
(환경: FF5.0이 기본 브라우저, Windows 7)
1. 검색어에 띄어쓰기가 있을 경우 창이 아예 뜨지 않습니다.
2. 검색어에 & 문자를 쓸 수 없습니다.
어차피 그대로 쓸 순 없고, 처리는 필요합니다. |
|
|
김동민 2011-08-01 PM 4:00:26 |
|
|
|
가만보니 저도 뭐 그냥 좋은 습관을 들이는 것이 영양가 있다!
라고 말해야 될 것을 안 좋은 습관은 옳지 않아!! 라는 뉘앙스로
전해드린 것 같아 신경이 쓰이는군요ㅋㅋ
혹시라도 제 글을 보고 언짢으셨다면 너그러이 용서해 주시길!*-_-)b |
|
|
지우개 Expert 3.0 제작자 : 천호성 님 [LINK] |
|
|
|
대박로또2005 제작자 : 최재일 님 [LINK] |
|
|
1 | 박종훈 님 | 15292 점 | |
2 | 지상현 님 | 8809 점 | |
3 | 손상진 님 | 7388 점 | |
4 | 권선중 님 | 6060 점 | |
5 | 이진백 님 | 5174 점 | |
|
|
|
가입일 | 닉네임 |
05/31 | 김동률 |
03/31 | 홍형기 |
09/01 | o00pp99oo |
12/27 | 이재민 |
11/20 | 이희철 |
|
|
|
|
. |
. |
. |