혹시 네이버 오픈API 지도좌표변환 해보신분 계신가요?
글쓴이: groovecy / 작성시간: 금, 2008/02/08 - 7:17오전
좌표변환을 하려면 쿼리값으로 지역명이나 주소를 넣어줘야 하는데 한글검색을 하려합니다.
그런데 예문을 보면 한글로 들어가야하는데 아래처럼 글자가 깨져서 나옵니다.
이때문에 검색이 안되는것 같아요.. 소스는 아래 첨부할테니 제발 잘못된 부분좀 콕집어 주세요 ㅠㅠ
답글을 달아주시는 님들은 좀 짱인듯합니다.^^
<a href="http://maps.naver.com/api/geocode.php?key=584cd***************8054ebdc260b&query=¿???" rel="nofollow">http://maps.naver.com/api/geocode.php?key=584cd***************8054ebdc260b&query=¿???</a>
일단 넘겨주는 부분은 이렇게..
clicked: function() { var queryInput = (document.getElementById('searchInput1')).value; var query = encodeURIComponent(queryInput) var params = "?key="+this.nmapKey+"&query="+query; var url = "proxy_nmap.jsp"; xmlHttp.loadhttp(url+params, right.view); }
프록시 프로그램입니다..
<?php@ page pageEncoding="euc-kr" ?> <?php@ page import = "org.apache.commons.httpclient.HttpClient" ?> <?php@ page import = "org.apache.commons.httpclient.methods.GetMethod" ?> <?php@ page import = "org.apache.commons.httpclient.HttpStatus" ?> <?php request.setCharacterEncoding("utf-8"); String url = "http://maps.naver.com/api/geocode.php"; String queryString = request.getQueryString(); HttpClient client = new HttpClient(); GetMethod method = new GetMethod(url); method.setQueryString(queryString); try { int statusCode = client.executeMethod(method); out.clearBuffer(); response.reset(); response.setStatus(statusCode); if (statusCode == HttpStatus.SC_OK) { String result = method.getResponseBodyAsString(); response.setContentType("text/xml; charset=utf-8"); out.println(result); } } finally { if (method != null) method.releaseConnection(); }?>
네이버 오픈API에 보면 한글쿼리는 utf-8로 설정되어야 한다고 나와있는데.. 도대체 왜이럴까요..ㅠㅠ
혹시 브라우저의 인코딩설정과도 상관이 있을까요?
아니면 이클립스의 인코딩설정은요?? 아아~ 답답해 죽겠어요 ㅠㅠ
Forums:
값은 EUC-KR로
값은 EUC-KR로 받아오는데 보낼 때 UTF-8로 바꾸지 않고 보내서 그런 것 아닌가요?
혹시 페이지인코딩
혹시 페이지인코딩 설정과 관련이 있을까요? 이방법 저방법 다 해보다 보니 뭘 하고 안했는지조차 헷갈리네요..ㅠㅠ
그리고 encodeURIComponent가 UTF-8로 인코딩해주는 메소드 아닌가요??
It's up to you.
It's up to you.
댓글 달기