euc_kr을 utf-8 변환시 스킨사용안됨... > 그누4 질문답변

그누4 질문답변

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

euc_kr을 utf-8 변환시 스킨사용안됨... 정보

euc_kr을 utf-8 변환시 스킨사용안됨...

첨부파일

j_account4.tgz (35.1K) 4회 다운로드 2010-10-27 11:06:25

본문

도대체 왜이런걸까요 ㅜ_ㅜ 2주쨰 싸매다가 글올립니다...
가계부 스킨이구요..ㅠㅠ
장돌뱅이님 스킨입니다.
근데 이게 도대체가..인코딩만 바꿧을뿐이데
동작을 안합니다.ㅠㅠ


문제의 글쓰기 스킨. 


<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>

<?  // ADD JSY
    // 수금일자|결재일자|최종수정일 처리필드(기존의 'wr_7' 여유필드를 확장)
    //[참고] 여유필드를 업데이트하기 위해서는 'write_update.skin.php' 를 사용함
    //$ext7_00   =  explode("|",$row[wr_7]);
    //$ext7_01   =  $ext7_00[0]; //구분(수입/지출)
    //$ext7_02   =  $ext7_00[1]; //공급가액
    //$ext7_03   =  $ext7_00[2]; //부가세
    //$ext7_04   =  $ext7_00[3]; //결재일자
    //$ext7_05   =  $ext7_00[4]; //최종수정
?>

<script language="javascript">
// 글자수 제한
var char_min = parseInt(<?=$write_min?>); // 최소
var char_max = parseInt(<?=$write_max?>); // 최대
</script>

<form name="fwrite" method="post" action="javascript:fwrite_check(document.fwrite);" enctype="multipart/form-data" style="margin:0px;">
<input type=hidden name=null> 
<input type=hidden name=w        value="<?=$w?>">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=wr_id    value="<?=$wr_id?>">
<input type=hidden name=sca      value="<?=$sca?>">
<input type=hidden name=sfl      value="<?=$sfl?>">
<input type=hidden name=stx      value="<?=$stx?>">
<input type=hidden name=spt      value="<?=$spt?>">
<input type=hidden name=sst      value="<?=$sst?>">
<input type=hidden name=sod      value="<?=$sod?>">
<input type=hidden name=page     value="<?=$page?>">

<table width="<?=$width?>" align=center cellpadding=0 cellspacing=0><tr><td>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<colgroup width=100>
<colgroup width=''>
<tr><td colspan=2 height=2 bgcolor=#b0adf5></td></tr>
<tr><td style='padding-left:20px' colspan=2 height=38 bgcolor=#f8f8f9><strong><?=$title_msg?></strong></td></tr>

<? if ($is_name) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 이름</td>
    <td><input class=ed maxlength=20 size=15 name=wr_name itemname="이름" required value="<?=$name?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_password) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 패스워드</td>
    <td><input class=ed type=password maxlength=20 size=15 name=wr_password itemname="패스워드" <?=$password_required?>></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_email) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 이메일</td>
    <td><input class=ed maxlength=100 size=50 name=wr_email email itemname="이메일" value="<?=$email?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_homepage) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 홈페이지</td>
    <td><input class=ed size=50 name=wr_homepage itemname="홈페이지" value="<?=$homepage?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_notice || $is_html || $is_secret || $is_mail) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 옵션</td>
    <td><? if ($is_notice) { ?><input type=checkbox name=notice value="1" <?=$notice_checked?>>공지&nbsp;<? } ?>
        <? if ($is_html) { ?><input onclick="html_auto_br(this);" type=checkbox value="<?=$html_value?>" name="html" <?=$html_checked?>><span class=w_title>html</span>&nbsp;<? } ?>
        <? if ($is_secret) { ?><input type=checkbox value="secret" name="secret" <?=$secret_checked?>><span class=w_title>비밀글</span>&nbsp;<? } ?>
        <? if ($is_mail) { ?><input type=checkbox value="mail" name="mail" <?=$recv_email_checked?>>답변메일받기&nbsp;<? } ?></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<?  // JSY ADD
    $currentYear  = date('Y');
    $currentMonth = date('m');
    $currentDay   = date('d');
    $TODAY=date("Ymd",mktime(0,0,0,$currentMonth,$currentDay,$currentYear));
?>

<? // JSY ADD ?>
<TR>
    <TD style='padding-left:20px; height:30px;'>· 회계일</TD>
	<TD>
    <? if ($write[wr_1] == '') { ?>
        <INPUT type=text name='wr_1' value='<?=$TODAY?>' size='11' maxLength='08'> &nbsp;(영수증일자)&nbsp;&nbsp;&nbsp;&nbsp;
    <? } else { ?>
        <INPUT type=text name='wr_1' required itemname='일자' value='<?=$write[wr_1]?>' size='11' maxlength='08'> &nbsp;(영수증일자)&nbsp;&nbsp;&nbsp;&nbsp;
    <? } ?>
	&nbsp;&nbsp;&nbsp;&nbsp;· 고객명 &nbsp;&nbsp;<INPUT type=text name='wr_subject' required itemname='고객명' value='<?=$subject?>' size='50' maxLength='50'>
    </TD>
</TR>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr
<TR>
    <TD style='padding-left:20px; height:30px;'>· 거래내역</TD>
    <TD>
        <INPUT type=text name='wr_2' required itemname='거래내역' value='<?=$write[wr_2]?>' size='100' maxLength='50'>
    </TD>
</TR>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<TR>
    <TD style='padding-left:20px; height:30px;' valign='center'>· 거래형태</TD>
    <TD>
    <? if ($is_category) { ?>
        <select name=ca_name required itemname="분류">
            <option value="">분류<?=$category_option?></select>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;공급가액&nbsp;&nbsp;<INPUT type=text name='wr_3' required itemname='공급가액' value='<?=$write[wr_3]?>' size='12' maxLength='12'>
        &nbsp;&nbsp;&nbsp;&nbsp;부 가 세&nbsp;&nbsp;<INPUT type=text name='wr_4' required itemname='부가세' value='<?=$write[wr_4]?>' size='12' maxLength='12'>
        &nbsp;&nbsp;&nbsp;&nbsp;결 재 일&nbsp;&nbsp;<INPUT type=text name='wr_5' required itemname='결재일' value='<?=$write[wr_5]?>' size='11' maxLength='08'>
    <? } ?>
    </TD>
</TR>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<TR>
    <TD style='padding-left:20px; height:30px;' valign='center'>· 영수증종류</TD>
	<TD>
    <? if ($write[wr_8] == '영수증') { // 종류에따라 체크 되도록 ?>
        <INPUT type=radio value=영수증 name=wr_8 checked><font color=blue>영수증</font>
    <? } else { ?>
        <INPUT type=radio value=영수증 name=wr_8>영수증
    <? } ?>
    <? if ($write[wr_8] == '계산서') { // 종류에따라 체크 되도록 ?>
        <INPUT type=radio value=계산서 name=wr_8 checked><font color=blue>계산서</font>
    <? } else { ?>
        <INPUT type=radio value=계산서 name=wr_8>계산서
    <? } ?>
    <? if ($write[wr_8] == '법인카드') { // 종류에따라 체크 되도록 ?>
        <INPUT type=radio value=법인카드 name=wr_8 checked><font color=blue>법인카드</font>
    <? } else { ?>
        <INPUT type=radio value=법인카드 name=wr_8>법인카드
    <? } ?>
    <? if ($write[wr_8] == '계좌이체') { // 종류에따라 체크 되도록 ?>
        <INPUT type=radio value=계좌이체 name=wr_8 checked><font color=blue>계좌이체</font>
    <? } else { ?>
        <INPUT type=radio value=계좌이체 name=wr_8>계좌이체
    <? } ?>
    <? if ($write[wr_8] == '수수료') { // 종류에따라 체크 되도록 ?>
        <INPUT type=radio value=수수료 name=wr_8 checked><font color=blue>수수료</font>
    <? } else { ?>
        <INPUT type=radio value=수수료 name=wr_8>수수료
    <? } ?>
    <? if ($write[wr_8] == '미영수증') { // 종류에따라 체크 되도록 ?>
        <INPUT type=radio value=미영수증 name=wr_8 checked><font color=blue>미영수증</font>
    <? } else { ?>
        <INPUT type=radio value=미영수증 name=wr_8>미영수증
    <? } ?>
	<? if ($write[wr_8] == '' || $write[wr_8] == '기타') { // 종류에따라 체크 되도록 ?>
        <INPUT type=radio value=기타 name=wr_8 checked><font color=blue>기타</font>
	<? } else { ?>
		<INPUT type=radio value=기타 name=wr_8>기타
	<? } ?>
    </TD>
</TR>
<? // JSY ADD END ?>

<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<tr>
    <td style='padding-left:20px;'>· 상세내용</td>
    <td style='padding:5 0 5 0;'>
        <table width=100% cellpadding=0 cellspacing=0>
        <tr>
            <td width=20% align=left valign=bottom>
                <span style="cursor: pointer;" onclick="textarea_decrease('wr_content', 10);"><img src="<?=$board_skin_path?>/img/up.gif"></span>
                <span style="cursor: pointer;" onclick="textarea_original('wr_content', 10);"><img src="<?=$board_skin_path?>/img/start.gif"></span>
                <span style="cursor: pointer;" onclick="textarea_increase('wr_content', 10);"><img src="<?=$board_skin_path?>/img/down.gif"></span></td>
            <td width=80% align=right>
				<? if ($write_min || $write_max) { ?><span id=char_count></span>글자<?}?>
			</td>
        </tr>
        </table>

        <textarea id=wr_content name=wr_content class=tx style='width:100%; word-break:break-all;' rows=10 itemname="내용" required
        <? if ($write_min || $write_max) { ?>onkeyup="check_byte('wr_content', 'char_count');"<?}?>><?=$content?></textarea>
        <? if ($write_min || $write_max) { ?><script language="javascript"> check_byte('wr_content', 'char_count'); </script><?}?></td>
</tr>
<?
    //  <?=substr($view[wr_datetime],2,14)
    //  wr_datetime 날짜를 년월일만 취해서 000000으로 표시
    $view_year  = substr($write[wr_datetime],0,4); // 0000년
    $view_month = substr($write[wr_datetime],5,2); // 00월
    $view_day   = substr($write[wr_datetime],8,2); // 00일

    $first_day  = $view_year.$view_month.$view_day;
?>

<tr>
	<td>&nbsp;</td>
    <td height=30>
		<font color=CCCCCC>검증코드 : <?=$first_day?>|<?=$write[wr_7]?></font>
    </td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>

<? if ($is_link) { ?>
<? for ($i=1; $i<=$g4[link_count]; $i++) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 링크 #<?=$i?></td>
    <td><input type='text' class=ed size=50 name='wr_link<?=$i?>' itemname='링크 #<?=$i?>' value='<?=$write["wr_link{$i}"]?>'></td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
<? } ?>

<? if ($is_file) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'><table cellpadding=0 cellspacing=0><tr><td style=" padding-top: 10px;">· 파일 <span onclick="add_file();" style='cursor:pointer; font-family:tahoma; font-size:12pt;'>+</span> <span onclick="del_file();" style='cursor:pointer; font-family:tahoma; font-size:12pt;'>-</span></td></tr></table></td>
    <td style='padding:5 0 5 0;'><table id="variableFiles" cellpadding=0 cellspacing=0></table><?// print_r2($file); ?>
        <script language="JavaScript">
        var flen = 0;
        function add_file(delete_code)
        {
            var upload_count = <?=(int)$board[bo_upload_count]?>;
            if (upload_count && flen >= upload_count)
            {
                alert("이 게시판은 "+upload_count+"개 까지만 파일 업로드가 가능합니다.");
                return;
            }

            var objTbl;
            var objRow;
            var objCell;
            if (document.getElementById)
                objTbl = document.getElementById("variableFiles");
            else
                objTbl = document.all["variableFiles"];

            objRow = objTbl.insertRow(objTbl.rows.length);
            objCell = objRow.insertCell(0);

            objCell.innerHTML = "<input type='file' class=ed size=32 name='bf_file[]' title='파일 용량 <?=$upload_max_filesize?> 이하만 업로드 가능'>";
            if (delete_code)
                objCell.innerHTML += delete_code;
            else
            {
                <? if ($is_file_content) { ?>
                objCell.innerHTML += "<br><input type='text' class=ed size=50 name='bf_content[]' title='업로드 이미지 파일에 해당 되는 내용을 입력하세요.'>";
                <? } ?>
                ;
            }

            flen++;
        }

        <?=$file_script; //수정시에 필요한 스크립트?>

        function del_file()
        {
            // file_length 이하로는 필드가 삭제되지 않아야 합니다.
            var file_length = <?=(int)$file_length?>;
            var objTbl = document.getElementById("variableFiles");
            if (objTbl.rows.length - 1 > file_length)
            {
                objTbl.deleteRow(objTbl.rows.length - 1);
                flen--;
            }
        }
        </script></td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_trackback) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 트랙백주소</td>
    <td><input class=ed size=50 name=wr_trackback itemname="트랙백" value="<?=$trackback?>">
        <? if ($w=="u") { ?><input type=checkbox name="re_trackback" value="1">핑 보냄<? } ?></td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_norobot) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· <?=$norobot_str?></td>
    <td><input class=ed type=input size=10 name=wr_key itemname="자동등록방지" required>&nbsp;&nbsp;* 왼쪽의 글자중 <font color="red">빨간글자만</font> 순서대로 입력하세요.</td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<tr><td colspan=2 height=1 bgcolor=#000000></td></tr>
</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
    <td width="100%" height="30" background="<?=$board_skin_path?>/img/write_down_bg.gif"></td>
</tr>
<tr>
    <td width="100%" align="center" valign="top">
        <input type=image id="btn_submit" src="<?=$board_skin_path?>/img/btn_write.gif" border=0 accesskey='s'>&nbsp;
        <a href="./board.php?bo_table=<?=$bo_table?>&sop=and&sst=wr_1&sod=desc&sfl=&stx=&page=1"><img id="btn_list" src="<?=$board_skin_path?>/img/btn_list.gif" border=0></a></td>
</tr>
</table>

</td></tr></table>
</form>


<script language="javascript">
<? /*
// 관리자라면 분류 선택에 '공지' 옵션을 추가함
if ($is_admin) 
{
    echo "
    if (typeof(document.fwrite.ca_name) != 'undefined')
    {
        document.fwrite.ca_name.options.length += 1;
        document.fwrite.ca_name.options[document.fwrite.ca_name.options.length-1].value = '공지';
        document.fwrite.ca_name.options[document.fwrite.ca_name.options.length-1].text = '공지';
    }";
} 
*/ ?>

with (document.fwrite) 
{
    if (typeof(wr_name) != "undefined")
        wr_name.focus();
    else if (typeof(wr_subject) != "undefined")
        wr_subject.focus();
    else if (typeof(wr_content) != "undefined")
        wr_content.focus();

    if (typeof(ca_name) != "undefined")
        if (w.value == "u")
            ca_name.value = "<?=$write[ca_name]?>";
}

function html_auto_br(obj)
{
    if (obj.checked) 
    {
        result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
        if (result)
            obj.value = "html2";
        else
            obj.value = "html1";
    }
    else
        obj.value = "";
}

function fwrite_check(f)
{
    var s = "";
    if (s = word_filter_check(f.wr_subject.value)) 
    {
        alert("제목에 금지단어('"+s+"')가 포함되어있습니다");
        return;
    }

    if (s = word_filter_check(f.wr_content.value)) 
    {
        alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
        return;
    }

    if (char_min > 0 || char_max > 0)
    {
        var cnt = parseInt(document.getElementById('char_count').innerHTML);
        if (char_min > 0 && char_min > cnt)
        {
            alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");
            return;
        } 
        else if (char_max > 0 && char_max < cnt)
        {
            alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
            return;
        }
    }

    if (typeof(f.wr_key) != "undefined") 
    {
        if (hex_md5(f.wr_key.value) != md5_norobot_key) 
        {
            alert("자동등록방지용 빨간글자가 순서대로 입력되지 않았습니다.");
            f.wr_key.focus();
            return;
        }
    }

    document.getElementById('btn_submit').disabled = true;
    document.getElementById('btn_list').disabled = true;

    f.action = "./write_update.php";
    f.submit();
}
</script>

댓글 전체

db언어셋이랑 설치하신 언어셋이 달라서 나오는 문제같네요. 원격은 vpn이라 불가능임돠.
글자깨짐은 변환이 안된화일이 올라가서 나타나는 증상입니다.
글쓰기는 스킨버전이 그누최신버전이랑 안맞아서 나타나는 증상아니세요?
글쓰기 누르면 양식은 나오는데 최종입력시 에러나는 경우는 사용하시는 스킨을 그누 최신버전에 맞게 수정하셔야 합니다.
db언어셋 utf-8 입니다. 그누보드 설치버전 utf8버전이구요..
제 홈페이지 모든 인코딩은 utf_8로 되있습니다.ㅠㅠ
그러면 이소스는 최신버전과 궁합이안맞아서 그런가요?ㅠㅠ
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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