토론설문게시판에 utf문제 좀 알려주세요. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

토론설문게시판에 utf문제 좀 알려주세요. 정보

토론설문게시판에 utf문제 좀 알려주세요.

본문

안녕하세요.
다름이 아니오라 도솔천님에 토론 설문게시판을 utf용으로 변경 테스트해보았는데요.
문제가 발생합니다.
위에 보시면 설문 선택후 클릭을 누르면 글이 깨져 나옵니다.
무엇이 문제인지요..?
 
도솔천님에 게시판 링크입니다.
 
 
밑에는 일부게시판 소스입니다.
 
 
poll_answer_update.php
 
<?
$g4_path = "../../..";
include_once("$g4_path/common.php");
//$g4[title] = "설문조사 답변 반영";
//include_once("$g4[path]/head.sub.php");
$sql = " select wr_1 from $write_table where wr_id = '$wr_id' ";
$wr = sql_fetch($sql);
if (!(isset($wr[wr_1]) && isset($ans)))
{
    echo <<<HEREDOC
    <script language="JavaScript">
    alert("필요한 값이 넘어오지 않았습니다.");
    window.close();
    </script>
HEREDOC;
}
if (get_cookie("ck_{$bo_table}_{$wr_id}") == "{$bo_table}_{$wr_id}")
{
    echo <<<HEREDOC
    <script language="JavaScript">
        alert("이미 참여하신 설문입니다.");
        window.close();
    </script>
HEREDOC;
}

$tmp = explode(",", $wr[wr_1]);
$tmp[$ans]++;
$comma = $wr_1 = "";
for ($i=0; $i<$max_ans; $i++)
{
    $wr_1 .= $comma . (int)$tmp[$i];
    $comma = ",";
}
sql_query(" update $write_table set wr_1 = '$wr_1' where wr_id = '$wr_id' ");
set_cookie("ck_{$bo_table}_{$wr_id}", "{$bo_table}_{$wr_id}", 86400*365);
echo <<<HEREDOC
<script language="JavaScript">
    alert("설문에 참여해 주셔서 감사합니다.");
    parent.document.location.reload();
    window.close();
</script>
HEREDOC;
//include_once("$g4[path]/tail.sub.php");
?>
 
 
 
 
view.skin.php
 
 
 
 
<?
// ====================================== 게시물 보기 ======================================
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
echo "<br>";
?>
<STYLE type="text/css">
.view_v8 {font-family:verdana;font-size:8pt;color:#808080;}
.view_line {background-color:#DFDFDF}
</STYLE>
<TABLE width=<?=$width?> border=0 align=center cellpadding=0 cellspacing=0>
<TR>
 <TD height=3></TD>
</TR>
<TR>
 <TD>
<!--제목테이블-->
 <table cellpadding=0 cellspacing=0 border=0 width=100%>
  <tr>
   <td><img src='<?=$board_skin_path?>/img/list_left.gif' height=26 width=1 border=0></td>
   <td align=center height=26  background='<?=$board_skin_path?>/img/list_bg.gif' width="100%" style='padding:0 0 0 10'><strong><?=$view[subject]?></strong></td>
   <td><img src=<?=$board_skin_path?>/img/list_right.gif height=26 width=2 border=0></td>
  </tr>
 </table>
 </TD>
</TR>
<TR>
 <TD height=1></TD>
</TR>
<TR>
 <TD>
<TABLE cellpadding=0 cellspacing=0 width=100% height=100%>
<TR>
  <TD height=26 bgcolor=#F6F6F6>
<!--글쓴이,날짜 테이블-->
 <table cellpadding="0" width=100% cellspacing="0">
  <tr>
   <td align=left> <?=$view[name]?> 님께서 쓴 글입니다 <font color=#bbbbbb><? if ($is_ip_view) { echo " - IP : ($ip)"; } ?></font></td>
   <td align=right>
   <?=$sca?>
   <font class=view_v8>글쓴날:<?=substr($view[wr_datetime],2,14)?>, 조회:<b><?=$view[wr_hit]?></b> <? if ($is_good) { echo " 추천:<b>$view[wr_good]</b> "; } ?><? if ($is_nogood) { echo " 비추천:<b>$view[wr_nogood]</b> "; } ?></font></td>
<? if ($update_href) { echo "<td width=21 align=center><a href=\"$update_href\"><img src='$board_skin_path/img/modify_2.gif' border=0 title='수정'></a> </td>"; } ?>
<? if ($delete_href) { echo "<td width=21 align=center><a href=\"$delete_href\"><img src='$board_skin_path/img/del_2.gif' border=0 title='삭제'></a> </td>"; } ?>
  </tr>
  </table>
<!--글쓴이,날짜 테이블 여기까지-->
 </TD>
</TR>
<? if ($trackback_url) { ?>
<tr><td height=26 bgcolor=#F6F6F6> 트랙백 : <a href="javascript:clipboard_trackback('<?=$trackback_url?>');" style="letter-spacing:0;" title='이 글을 소개할 때는 이 주소를 사용하세요'><?=$trackback_url?></a>
<script language="JavaScript">
function clipboard_trackback(str)
{
    if (g4_is_gecko)
        prompt("이 글의 고유주소입니다. Ctrl+C를 눌러 복사하세요.", str);
    else if (g4_is_ie) {
        window.clipboardData.setData("Text", str);
        alert("트랙백 주소가 복사되었습니다.\n\n<?=$trackback_url?>");
    }
}
</script></td></tr>
<?}?>
<?
// 링크
$cnt = 0;
for ($i=1; $i<=$g4[link_count]; $i++)
{
    if ($view[link][$i])
    {
        $cnt++;
        $link = cut_str($view[link][$i], 70);
echo "<tr><td height=24 style='padding:0 0 0 10'><table cellpadding=0 cellspacing=0><tr><td nowrap>링크 #{$i} : </td><td><a href='{$view[link_href][$i]}' target=_blank>{$link}</a>, <font class=view_v8>Hit:{$view[link_hit][$i]}</font> </td></tr></table></td></tr><tr><td height=1 class=view_line></td></tr>";
 }
}
?>
<?
// 가변 파일
$cnt = 0;
for ($i=0; $i<count($view[file]); $i++)
{
    if ($view[file][$i][source] && !$view[file][$i][view])
    {
$cnt++;
echo "<tr><td height=24 style='padding:0 0 0 10'>";
echo "<table cellpadding=0 cellspacing=0><tr><td nowrap>다운로드 #{$cnt} :</td><td> <a href=\"javascript:file_download('{$view[file][$i][href]}', '{$view[file][$i][source]}');\" title='{$view[file][$i][datetime]}'>{$view[file][$i][source]} ({$view[file][$i][size]})</a>, <font class=view_v8>Down:{$view[file][$i][download]}</font>";
if ($view[file][$i][content]) echo "<font color=#bbbbbb> - "."{$view[file][$i][content]}"."</font>";
echo "</td></tr></table></td></tr><tr><td height=1 class=view_line></td></tr>";
  }
}
?>
</TABLE>
 </TD>
</TR>
<TR>
 <TD height=5></TD>
</TR>
<form name=fpollskin method=post action="<?=$board_skin_path?>/poll_answer_update.php" onsubmit="return fpollskin_check(this.form);" target="hiddenframe">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=wr_id value="<?=$wr_id?>">
<? if ($view[file]) { ?>
<TR>
 <TD align=center>
      <?// 파일 출력
        for ($i=0; $i<=count($view[file]); $i++) {
            if ($view[file][$i][view])
                echo $view[file][$i][view] . "<p>";}
   ?>
 </TD>
</TR>
<? } ?>
<!-- wr_5 시작 -->
<? if ($view[wr_5]) { ?>
<TR>
 <TD>
<TABLE cellspacing=3 width=100%>
<TR>
 <TD width=4 bgcolor=#F3CD66 align=center></TD>
 <TD style='padding:10px'>
 <?
     $wr_5 = conv_content($write[wr_5], $write[wr_html]);
 echo "<span style='word-break:break-all;'>".$wr_5."</span>";
  ?>
 </TD>
</TR>
</TABLE>
 </TD>
</TR>
<? } ?>
<!-- wr_5 끝 -->
<TR>
 <TD style='word-break:break-all; padding:10px' height=150>
        <!-- 내용 출력 -->
        <?
        // 투표한 사람, 자신, 관리자만 결과가 보임
        //if (get_cookie("ck_{$bo_table}_{$wr_id}") == "{$bo_table}_{$wr_id}" || $is_admin || ($view[mb_id] == $member[mb_id] && $view[mb_id]))
        if (get_cookie("ck_{$bo_table}_{$wr_id}") == "{$bo_table}_{$wr_id}" || ($view[mb_id] == $member[mb_id] && $view[mb_id]))
            $is_poll = true;
        else
            $is_poll = false;
        $max = 1;
        $total = 0;
        $tmp = explode(",", $view[wr_1]);
        for ($i=0; $i<count($tmp); $i++)
        {
            $total += (int)$tmp[$i];
            if ((int)$tmp[$i] > $max)
                $max = (int)$tmp[$i];
        }
        echo "<table>";
        $ans = explode("\n", $view[wr_content]);
        for ($i=0; $i<count($ans); $i++)
        {
            echo "<tr>";
            echo "<td>";
            echo "<input type=radio name='ans' id='ans$i' value='$i'><label for='ans$i'>";
            echo $ans[$i];
            echo "</label>";
            if ($is_poll)
            {
                if ($total > 0)
                    $rate = ((int)$tmp[$i] / $total) * 100;
                $bar = (int)((int)$tmp[$i] / $max * 100);
                echo "</td>";
                echo "<td width=200>";
                echo "<table width=100% height=10 cellspacing=0 cellpadding=0 border=0>";
                echo "<tr><td><div style='width:100%;height:10px;border:1px solid #8E959B;background-color:#ffffff'><img src='$board_skin_path/img/poll_bar.gif' width='{$bar}%' height='8' title='' border='0'></div></td></tr>";
                echo "</table>";
                echo "<td width=50 align=right>".number_format($tmp[$i])."명  </td>";
                echo "<td width=70 align=right>".number_format($rate,1)."%  </td>";
            }
            echo "</td></tr>";
        }
        if ($is_poll)
        {
            echo "<tr>";
            echo "<td></td>";
            echo "<td align=right>설문참여자 총  </td>";
            echo "<td align=right>".number_format($total)."명  </td></tr>";
        }
        echo "</table>";
        ?>
        <input type=hidden name=max_ans value="<?=$i?>">
        <?
        if ($is_poll)
        {
            echo "<p><font color=gray>이미 설문에 참여하셨습니다. (또는 자기가 올린 설문입니다.)</font>";
        }
        else
        {
            echo "<p><input type=submit value='   투   표   '>";
            echo "<p><font color=gray>투표하시면 결과가 보입니다.</font>";
        }
        ?>
        <span class="ct lh"><?//=$view[content];?></span>
        <?//echo $view[rich_content]; // 과 같은 코드를 사용할 경우?>
        <!-- 테러 태그 방지용 --></xml></xmp><a href=""></a><a href=''></a>
       
        <? if ($is_signature) { echo "<br>$signature<br><br>"; } // 서명 출력 ?>
     </TD>
  </TR>
</form>
</TABLE>

<script language="JavaScript">
function fpollskin_check(f)
{
    var ans = document.getElementsByName('ans');
    var chk = false;
    for (i=0;i<ans.length;i++)
    {
        if (ans[i].checked)
        {
            chk = true;
            break;
        }
    }
    if (!chk)
    {
        alert("투표하실 항목을 선택하십시오.");
        return false;
    }
    return true;
}
</script>

<?
include_once("./view_comment.php"); // 코멘트를 불러온다.
?>
<br>
<script language="JavaScript">
// HTML 로 넘어온 <img ... > 태그의 폭이 테이블폭보다 크다면 테이블폭을 적용한다.
function resize_image()
{
    var target = document.getElementsByName('target_resize_image[]');
    var image_width = parseInt('<?=$board[bo_image_width]?>');
    var image_height = 0;
    for(i=0; i<target.length; i++) {
        // 원래 사이즈를 저장해 놓는다
        target[i].tmp_width  = target[i].width;
        target[i].tmp_height = target[i].height;
        // 이미지 폭이 테이블 폭보다 크다면 테이블폭에 맞춘다
        if(target[i].width > image_width) {
            image_height = parseFloat(target[i].width / target[i].height)
            target[i].width = image_width;
            target[i].height = parseInt(image_width / image_height);
        }
    }
}
window.onload = resize_image;
function file_download(link, file)
{
<? if ($board[bo_download_point] < 0) { ?>if (confirm("'"+file+"' 파일을 다운로드 하시면 포인트가 차감(<?=number_format($board[bo_download_point])?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n다운로드 하시겠습니까?"))<?}?>
document.location.href = link;
}
</script>
<!-- 게시글 보기 끝 -->

댓글 전체

전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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