XML Encoding Name?

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
XML Encoding Name?

QA

XML Encoding Name?

본문

http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=152482&page=3 

 

위 '말풍선' 최신글 스킨을 '그누보드 5'에 적용시켰습니다.

'먼지손'님의 도움으로 파일을 일부 수정하여 정상적으로 뜨고, 해당 글 주소로 들어가는 부분까지는 아무런 문제가 없습니다.

 

적용한 곳 : http://internationale.kr/index_example_4.php

 

 

그런데

http://internationale.kr/swf/talkopen.php 

이 파일로 직접 접근하면... 불러온 최신글들의 '소스보기'가 되어야 하는데... 오류가 뜹니다.

스킨의 사용에는 아무런 지장이 없으나... 께림칙하여 혹 바로잡을 수 있는 방법이 없는지 문의드립니다.

 

아래는 수정한 'talkopen.php​' 파일의 소스 전체입니다.

 

<?php
// 48시간 말풍선 최신글 스킨 2009년 8월 13일 목요일
// 부용님께서 만들어 주신 전체게시판을 사용할 수 있는 php입니다. UTF-8에서 사용하시면 됩니다.
// 전체새글에서 추출
$_gnu_url = ""; // 그누보드 루트
$g5_path = '..';
include_once($g5_path.'/common.php');
 
$turl = "http://internationale.kr/bbs/board.php?bo_table=free"; // 플래시 전체링크
$lines = 40; // 갯수
 
// 쿼리 조건외 제외시키고자 하는 그룹 및 게시판을 수동으로 추가 
$excgr = "('song', 'photo', 'info', 'catholic', 'favorites', 'shop')"; // 제외 그룹
$excbo = "('history')"; // 제외 게시판
 
function specialchars_replace($str, $len=0)
{
  if ($len)
  {
    $str = substr($str, 0, $len);
  }
  $str = preg_replace("/&/", "&", $str);
  $str = preg_replace("/</", "<", $str);
  $str = preg_replace("/>/", ">", $str);
  return $str;
}
 
Header("Content-type: text/xml");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
 
echo "<?xml version=\"1.0\" encoding=\"".$g5[charset]."\"?>\n";
echo "<rss>\n";
 
$sql_common = " from " . $g5['board_new_table'] . " a, " . $g5['board_table'] . " b, " . $g5['group_table'] . " c where a.bo_table = b.bo_table and b.gr_id = c.gr_id and b.bo_use_search = '1' ";
 
if (!empty($gr_id))
  $sql_common .= " and b.gr_id = '$gr_id' ";
 
$sql_common .= " and b.gr_id not in " . $excgr . " and b.bo_table not in " . $excbo . " "; // 제외설정
 
$sql_common .= " and a.wr_id = a.wr_parent ";
 
$sql_order = " order by a.bn_id desc ";
 
$sql = " select a.*, b.bo_subject, c.gr_subject
                      $sql_common
                      $sql_order
                      limit $lines ";
 
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
  $tmp_write_table = $g5['write_prefix'] . $row['bo_table'];
  $row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '" . $row['wr_id'] . "' ");
  // 비밀글이면 통과
  if (preg_match("`secret`", $row2['wr_option'])) continue;
  $wr_subject = specialchars_replace(iconv("UTF-8", "EUC-KR", $row2[wr_subject]));
  $wr_link = specialchars_replace(G5_BBS_URL."/board.php?bo_table=" . $row['bo_table'] . "&wr_id=" . $row['wr_id']);
  //$wr_content = $row2['wr_content'];
  $wr_name = specialchars_replace(iconv("UTF-8", "EUC-KR", $row2[wr_name]));
  $wr_date = $row2['wr_datetime'];
  $wr_date = date('r', strtotime($wr_date));
 
  echo "<list turl=\"".$turl."\">\n";
  echo "<dd><![CDATA[".$wr_name."]]></dd>\n";
  echo "<ct>".$wr_date."</ct>\n";
  echo "<tt><![CDATA[".$wr_subject."]]></tt>\n";
  echo "<uu>".$wr_link."</uu>\n";
  echo "</list>\n";
}
 
echo "</rss>";
?>

 

 

echo "<?xml version="1.0" encoding="utf-8"?>\n"; 

이렇게 수정하면... 그나마 뜨던 풍선이 모두 자취를 감춥니다.

이 질문에 댓글 쓰기 :

답변 2

중간중간 iconv보니깐 iconv("UTF-8""EUC-KR"$row2[wr_name])​ 이렇게 해두셨던데...

 

euc-kr문서 아니신가요?

 

iconv가 앞에꺼에서 중간꺼로 뒤에있는 문자열을 변환시키는거 아닌가요?ㅎㅎ

 

32라인

//echo "<?xml version=\"1.0\" encoding=\"".$g5[charset]."\"?>\n";

echo "<?xml version=\"1.0\" encoding=\"euc-kr\"?>\n";

미쳐 문서 전체를 못봤었군요;

문서타입도 ansi인거죠?

답변을 작성하시기 전에 로그인 해주세요.
전체 101
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT