PVS :: [NaverMap] Naver Map 쿼리 utf-8 문제.
2007/06/25 21:27 원본보기
오늘도 여전히 삽질 중 ..
Naver Map 을 검색시에
쿼리를 날렸을 때 UTF-8 만 지원된다. ( Naver Open API 에서 )
계속 euc-kr (나의 홈페이지 환경) 에서 쿼리를 날리니
검색이 되지 않는다.
PHP 함수를 지원 받아서 보내니 된다
iconv("euc-kr", "UTF-8", $_GET["query"]);
이제는 받는 값이 .. 제대로 표현이 안된다.
참고 주소 : http://blog.naver.com/snazzy79/70013223075
참고 주소 : phpSchool
# UTF => EUC-KR로 변환
function iconv_to_euc_kr($get_data) {
$work_unit = 50;$init_size = strlen($get_data);
$result_data = "";
$count = 0;
for ( $i = 0 ; $i < $init_size ; $i++ ) {
$cur_char = substr($get_data,$i,1);$t = ord($cur_char);
if ( $t == 9 || $t == 10 || (32 <= $t && $t <= 126) ) {
$tn = 1;
}
else if ( 194 <= $t && $t <= 223 ) {
$tn = 2;
}
else if ( 224 <= $t && $t < 239 ) {
$tn = 3;
}
else if ( 240 <= $t && $t <= 247 ) {
$tn = 4;
}
else if ( 248 <= $t && $t <= 251 ) {
$tn = 5;
}
else if ( $t == 252 || $t == 253 ) {
$tn = 6;
}
else {
$tn = 1;
}if ( $work_unit < $tn ) {
break;
}if ( $count + $tn > $work_unit ) {
$temp_data = iconv("utf-8","euc-kr",$work_string);
$result_data .= $temp_data;$work_string = "";
$i--;
$count = 0;
}
else {
for ( $j = 0 ; $j < $tn ; $j++ ) {
$work_string .= $cur_char;
$i++;
$count++;
$cur_char = substr($get_data,$i,1);
}
$i--;
}
}if ( $work_string ) {
$temp_data = iconv("utf-8","euc-kr",$work_string);
$result_data .= $temp_data;
}return $result_data;
}