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개 / 댓글 1개
32라인
//echo "<?xml version=\"1.0\" encoding=\"".$g5[charset]."\"?>\n";
echo "<?xml version=\"1.0\" encoding=\"euc-kr\"?>\n";
미쳐 문서 전체를 못봤었군요;
문서타입도 ansi인거죠?
중간중간 iconv보니깐 iconv("UTF-8", "EUC-KR", $row2[wr_name]) 이렇게 해두셨던데...
euc-kr문서 아니신가요?
iconv가 앞에꺼에서 중간꺼로 뒤에있는 문자열을 변환시키는거 아닌가요?ㅎㅎ
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
순서를 바꿔보면 글자가 깨지네요.