네이버 Open API 질문해용~~ 정보
네이버 Open API 질문해용~~
본문
그누 버전은 EUC-KR
네이버 Open API 는 UTF-8만 되나요?
skin/search/basic/search.skin.php 파일에 api 파일을 인클루드 했더만 깨지네요. ^ ^
위 링크의 오류나는 2번째 줄... 내용
header("Content-Type: text/html; charset=UTF-8");
반면 개별적으로 api 파일을 불러오면 안 깨지네요...
어떻게 해야나용... ^ ^??
댓글 전체

읽어온 내용을 iconv로 변환시키세요
$text = iconv('UTF-8', 'EUC-KR', $text);
열심히 하시네요
$text = iconv('UTF-8', 'EUC-KR', $text);
열심히 하시네요

이렇게 있는데 잘 모르겠네요. ^ ^;;
<?
header("Content-Type: text/html; charset=UTF-8");
$key = "네이버 키";
//$query = $stx;
$query = $_GET[query];
$ary[] = "UTF-8";
$ary[] = "EUC-KR";
$ary[] = "ASCII";
if(mb_detect_encoding($query, $ary)=="EUC-KR") $query = iconv("EUC-KR","UTF-8",$query);
$query = urlencode($query);
$url = "http://openapi.naver.com/search?key=$key&query=$query&display=10&start=1&target=webkr";
$xml = @simplexml_load_file($url) or die("접속실패");
// @는 접속실패나 에러 발생시 에러메세지("몇번째 줄에서 에러 발생 ......) 를 그대로 안보여주고 "접속실패"를 보여줌
echo "total ".$xml->channel->total."<br>";
echo "<?xml version=\"1.0\" encoding=\"$g4[charset]\"?>\n";
foreach($xml->channel->item as $web){
echo "<a href='$web->link' target='_blank'>";
echo $web->title."<br>";
echo $web->description."<br>";
echo $web->link."<br><br>";
echo "</a>";
}
?>
<?
header("Content-Type: text/html; charset=UTF-8");
$key = "네이버 키";
//$query = $stx;
$query = $_GET[query];
$ary[] = "UTF-8";
$ary[] = "EUC-KR";
$ary[] = "ASCII";
if(mb_detect_encoding($query, $ary)=="EUC-KR") $query = iconv("EUC-KR","UTF-8",$query);
$query = urlencode($query);
$url = "http://openapi.naver.com/search?key=$key&query=$query&display=10&start=1&target=webkr";
$xml = @simplexml_load_file($url) or die("접속실패");
// @는 접속실패나 에러 발생시 에러메세지("몇번째 줄에서 에러 발생 ......) 를 그대로 안보여주고 "접속실패"를 보여줌
echo "total ".$xml->channel->total."<br>";
echo "<?xml version=\"1.0\" encoding=\"$g4[charset]\"?>\n";
foreach($xml->channel->item as $web){
echo "<a href='$web->link' target='_blank'>";
echo $web->title."<br>";
echo $web->description."<br>";
echo $web->link."<br><br>";
echo "</a>";
}
?>

simplexml_load_file
이것은 php5전용 함수이군요.
이것은 xml파일을 읽어와서 정보를 가지고 있을뿐 인코딩 형태 자체를 변환하지는 않습니다.
네이버 api같은 경우라면 아래 부분을
foreach($xml->channel->item as $web){
echo "<a href='$web->link' target='_blank'>";
echo $web->title."<br>";
echo $web->description."<br>";
echo $web->link."<br><br>";
echo "</a>";
}
foreach($xml->channel->item as $web){
echo "<a href='iconv('UTF-8', 'EUC-KR', $web->link)' target='_blank'>";
echo iconv('UTF-8', 'EUC-KR', $web->title) ."<br>";
echo iconv('UTF-8', 'EUC-KR', $web->description) ."<br>";
echo iconv('UTF-8', 'EUC-KR', $web->link) ."<br><br>";
echo "</a>";
}
이렇게 수정하면 되겠네요
그위의 부분은 고치지 않아도 되겠습니다.
이것은 php5전용 함수이군요.
이것은 xml파일을 읽어와서 정보를 가지고 있을뿐 인코딩 형태 자체를 변환하지는 않습니다.
네이버 api같은 경우라면 아래 부분을
foreach($xml->channel->item as $web){
echo "<a href='$web->link' target='_blank'>";
echo $web->title."<br>";
echo $web->description."<br>";
echo $web->link."<br><br>";
echo "</a>";
}
foreach($xml->channel->item as $web){
echo "<a href='iconv('UTF-8', 'EUC-KR', $web->link)' target='_blank'>";
echo iconv('UTF-8', 'EUC-KR', $web->title) ."<br>";
echo iconv('UTF-8', 'EUC-KR', $web->description) ."<br>";
echo iconv('UTF-8', 'EUC-KR', $web->link) ."<br><br>";
echo "</a>";
}
이렇게 수정하면 되겠네요
그위의 부분은 고치지 않아도 되겠습니다.

신기하게도 잘 되네요! ^ ^
감사합니다! ㅎ
감사합니다! ㅎ