한글이 이상한 언어로

한글이 이상한 언어로

QA

한글이 이상한 언어로

본문

cafe24_com_20140418_121107.jpg
 
cafe24_com_20140418_121122.jpg
 관리자에서 분류관리로 하게되면은 아래와 같이 언어가 숫자와 기호로 나타나네요

<?
$sub_menu = "400200";
include_once("./_common.php");
auth_check($auth[$sub_menu], "r");
unset($cate);
$tb = $g4[category_table];
if ( $_POST['mode'] == "cate_add" )
{
 $cate = $_POST['cate'];
 $cate = str_replace("&", "&", $cate);
 $query = "select count(*) from $tb where parent='" . $_POST['parent'] . "' and cate='" . $cate . "'";
 if ( mysql_result(sql_query($query),0,0) > 0 )
 {
  $rtxt = "NO:이미 등록된 분류명입니다.";
 }
 else
 {
  $query = "select sort from $tb where parent='" . $_POST['parent'] . "' order by sort desc limit 1";
  $result = sql_query($query);
  if ( mysql_num_rows($result) > 0 )
  {
   $sort = mysql_result($result,0,0)+1;
  }
  else
  {
   $sort = 1;
  }
  $query = "insert into $tb set
   parent = '" . $_POST['parent'] . "',
   depth = '" . $_POST['depth'] . "',
   sort = '" . $sort . "',
   cate = '" . addslashes($cate) . "'
  ";
  sql_query($query);
  $inidx = mysql_insert_id();
  $rtxt = "OK:$inidx";
 }
 //echo iconv("UTF-8","EUC-KR",$rtxt);
 echo $rtxt;
 exit;
}
if ( $_POST['mode'] == "get_cate" )
{
 $query = "select * from $tb where parent='" . $_POST['parent'] . "' order by sort,cate";
 //echo $query;
 $result = sql_query($query);
 $arr = array();
 while ( $row = sql_fetch_array($result) )
 {
  $arr[] = $row['idx'] . "|" . $row['cate'];
 }
 //echo iconv("UTF-8","EUC-KR", join("<->" , $arr));
 echo join("<->" , $arr);
 exit;
}
if ( $_POST['mode'] == "cate_edit" )
{
 
 $cate = $_POST['cate'];
 $cate = str_replace("&", "&", $cate);
 $query = "update $tb set
  cate = '" . addslashes($cate) . "'
  where idx='" . $_POST['idx'] . "'
  ";
 sql_query($query);
 echo "OK";
 exit;
}
if ( $_POST['mode'] == "cate_del" )
{
 if ( $_POST['depth'] == 1 )
 {
  $query = "select * from $tb where parent='" . $_POST['idx'] . "'";
  $result = sql_query($query);
  while ( $row = sql_fetch_array($result) )
  {
   $query = "delete from $tb where parent = '" . $row['idx'] . "'";
   sql_query($query);
  }
 }
 $query = "delete from $tb where parent = '" . $_POST['idx'] . "'";
 sql_query($query);
 $query = "delete from $tb where idx = '" . $_POST['idx'] . "'";
 sql_query($query);
 
 echo "OK";
 exit;
}
if ( $_POST['mode'] == "cate_up" )
{
 $query = "select * from $tb where idx='" . $_POST['idx'] . "'";
 $row = sql_fetch($query);
 
 if ( $row['sort'] > 1 )
 {
  $query = "select * from $tb where parent='$row[parent]' and sort<'$row[sort]' order by sort desc limit 1";
  $row1 = sql_fetch($query);
  
  $query = "update $tb set sort='$row1[sort]' where idx='$row[idx]'";
  sql_query($query);
  $query = "update $tb set sort='$row[sort]' where idx='$row1[idx]'";
  sql_query($query);
 }
 exit;
}
if ( $_POST['mode'] == "cate_down" )
{
 $query = "select * from $tb where idx='" . $_POST['idx'] . "'";
 $row = sql_fetch($query);
 
 if ( $row['sort'] > 0 )
 {
  $query = "select * from $tb where parent='$row[parent]' and sort>'$row[sort]' order by sort asc limit 1";
  //echo $query;
  $row1 = sql_fetch($query);
  
  $query = "update $tb set sort='$row1[sort]' where idx='$row[idx]'";
  sql_query($query);
  $query = "update $tb set sort='$row[sort]' where idx='$row1[idx]'";
  sql_query($query);
 }
 exit;
}
$g4[title] = "분류관리";
include_once("./admin.head.php");
?>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
function cate_chg(depth)
{
 var f = document.mform;
 f["cate" + depth + "_txt"].value = f["cate" + depth].options[f["cate" + depth].options.selectedIndex].text;
 document.getElementById("btn_cate" + depth  + "_edit").disabled = false;
 document.getElementById("btn_cate" + depth  + "_del").disabled = false;
 document.getElementById("btn_cate" + depth  + "_up").disabled = true;
 document.getElementById("btn_cate" + depth  + "_down").disabled = true;
 if (f['cate' + depth].options.selectedIndex>0)
 {
  document.getElementById("btn_cate" + depth  + "_up").disabled = false;
 }
 if (f['cate' + depth].options.selectedIndex < (f['cate' + depth].options.length-1))
 {
  document.getElementById("btn_cate" + depth  + "_down").disabled = false;
 }
 
 if (depth == 1)
 {
  f["cate2"].options.length = 0;
  f["cate3"].options.length = 0;
  f["cate2_txt"].value = "";
  f["cate3_txt"].value = "";
  document.getElementById("btn_cate2_new").disabled = false;
  document.getElementById("btn_cate3_new").disabled = true;
  document.getElementById("btn_cate2_up").disabled = true;
  document.getElementById("btn_cate3_up").disabled = true;
  document.getElementById("btn_cate2_down").disabled = true;
  document.getElementById("btn_cate3_down").disabled = true;
  document.getElementById("btn_cate2_edit").disabled = true;
  document.getElementById("btn_cate3_edit").disabled = true;
  document.getElementById("btn_cate2_del").disabled = true;
  document.getElementById("btn_cate3_del").disabled = true;
 }
 if (depth == 2)
 {
  f["cate3"].options.length = 0;
  f["cate3_txt"].value = "";
  document.getElementById("btn_cate3_new").disabled = false;
  document.getElementById("btn_cate3_edit").disabled = true;
  document.getElementById("btn_cate3_del").disabled = true;
  document.getElementById("btn_cate3_up").disabled = true;
  document.getElementById("btn_cate3_down").disabled = true;
 }
 if (depth < 3)
 {
  $.ajax({
   type: "POST",
   url: "<?=$_SERVER['PHP_SELF']?>",
   data: "mode=get_cate&parent=" + f["cate" + depth].value + "&depth=" + depth,
   cache: false,
   success: function(html)
   {
    //alert(html);
    var i = 0;
    var arr1 = new Array();
    var arr2 = new Array();
    arr1 = html.split("<->");
    for (i=0;i<arr1.length ;i++ )
    {
     if (arr1[i] != "")
     {
      //alert(arr1[i]);
      arr2 = arr1[i].split("|");
      f["cate" + (depth+1)].options[f["cate" + (depth+1)].options.length] = new Option(arr2[1],arr2[0]);
     }
    }
   }
  });
 }
}
function cate_add(depth)
{
 var f = document.mform;
 var parent = 0;
 var inidx = "";
 if (f["cate" + depth + "_txt"].value == "")
 {
  alert('분류명을 입력하세요.');
  return;
 }
 
 if (depth > 1)
 {
  parent = f['cate' + (depth - 1)].value;
  if (parent <=0)
  {
   alert("상위 분류을 선택하세요");
   return;
  }
 }
 $.ajax({
  type: "POST",
  url: "<?=$_SERVER['PHP_SELF']?>",
  data: "mode=cate_add&parent=" + parent + "&depth=" + depth + "&cate=" + escape(encodeURI(f["cate" + depth + "_txt"].value)),
  cache: false,
  success: function(html)
  {
   //alert(html);
   if (html.substring(0,2) == "OK")
   {
    inidx = html.substring(3);
    //alert(inidx);
    f['cate' + depth].options[f['cate' + depth].options.length] = new Option(f['cate' + depth + "_txt"].value,inidx);
   }
   else
   {
    alert(html.substring(3));
   }
   f['cate' + depth + "_txt"].value = "";
   f['cate' + depth].options.selectedIndex = -1;
   document.getElementById("btn_cate" + depth  + "_edit").disabled = true;
   document.getElementById("btn_cate" + depth  + "_del").disabled = true;
   if (depth == 1)
   {
    f["cate2"].options.length = 0;
    f["cate3"].options.length = 0;
    f["cate2_txt"].value = "";
    f["cate3_txt"].value = "";
    document.getElementById("btn_cate2_new").disabled = true;
    document.getElementById("btn_cate3_new").disabled = true;
    document.getElementById("btn_cate2_edit").disabled = true;
    document.getElementById("btn_cate3_edit").disabled = true;
    document.getElementById("btn_cate2_del").disabled = true;
    document.getElementById("btn_cate3_del").disabled = true;
   }
   if (depth == 2)
   {
    f["cate3"].options.length = 0;
    f["cate3_txt"].value = "";
    document.getElementById("btn_cate3_new").disabled = true;
    document.getElementById("btn_cate3_edit").disabled = true;
    document.getElementById("btn_cate3_del").disabled = true;
   }
  }
 });

}
function cate_edit(depth)
{
 var f = document.mform;
 var parent = 0;
 var inidx = "";
 $.ajax({
  type: "POST",
  url: "<?=$_SERVER['PHP_SELF']?>",
  data: "mode=cate_edit&idx=" + f['cate' + depth].value + "&depth=" + depth + "&cate=" + escape(encodeURI(f["cate" + depth + "_txt"].value)),
  cache: false,
  success: function(html)
  {
   if (html == "OK")
   {
    f['cate' + depth].options[f['cate' + depth].options.selectedIndex].text = f['cate' + depth + "_txt"].value
   }
  }
 });
}
function cate_del(depth)
{
 var f = document.mform;
 var parent = 0;
 var inidx = "";
 if (confirm("선택한 분류을 삭제하시겠습니까?\n\n하위 분류까지 모두 삭제됩니다.") == false)
 {
  return;
 }
 $.ajax({
  type: "POST",
  url: "<?=$_SERVER['PHP_SELF']?>",
  data: "mode=cate_del&depth=" + depth + "&idx=" + f['cate' + depth].value,
  cache: false,
  success: function(html)
  {
   if (html == "OK")
   {
    f['cate' + depth].options[f['cate' + depth].selectedIndex] = null;
    f['cate' + depth + "_txt"].value = "";
    f['cate' + depth].options.selectedIndex = -1;
    document.getElementById("btn_cate" + depth  + "_edit").disabled = true;
    document.getElementById("btn_cate" + depth  + "_del").disabled = true;
    if (depth == 1)
    {
     f["cate2"].options.length = 0;
     f["cate3"].options.length = 0;
     f["cate2_txt"].value = "";
     f["cate3_txt"].value = "";
     document.getElementById("btn_cate2_new").disabled = true;
     document.getElementById("btn_cate3_new").disabled = true;
     document.getElementById("btn_cate2_edit").disabled = true;
     document.getElementById("btn_cate3_edit").disabled = true;
     document.getElementById("btn_cate2_del").disabled = true;
     document.getElementById("btn_cate3_del").disabled = true;
    }
    if (depth == 2)
    {
     f["cate3"].options.length = 0;
     f["cate3_txt"].value = "";
     document.getElementById("btn_cate3_new").disabled = true;
     document.getElementById("btn_cate3_edit").disabled = true;
     document.getElementById("btn_cate3_del").disabled = true;
    }
   }
  }
 });
}
function cate_up(depth)
{
 var f = document.mform;
 $.ajax({
  type: "POST",
  url: "<?=$_SERVER['PHP_SELF']?>",
  data: "mode=cate_up&idx=" + f["cate" + depth].value + "&depth=" + depth,
  cache: false,
  success: function(html)
  {
   var txt = "";
   var tv = "";
   txt = f['cate' + depth].options[f['cate' + depth].options.selectedIndex].text;
   tv = f['cate' + depth].options[f['cate' + depth].options.selectedIndex].value;
   f['cate' + depth].options[f['cate' + depth].options.selectedIndex].text = f['cate' + depth].options[f['cate' + depth].options.selectedIndex-1].text;
   f['cate' + depth].options[f['cate' + depth].options.selectedIndex].value = f['cate' + depth].options[f['cate' + depth].options.selectedIndex-1].value;
   f['cate' + depth].options[f['cate' + depth].options.selectedIndex-1].text = txt;
   f['cate' + depth].options[f['cate' + depth].options.selectedIndex-1].value = tv;
   f['cate' + depth].options.selectedIndex = f['cate' + depth].options.selectedIndex -1;
   document.getElementById("btn_cate" + depth  + "_up").disabled = true;
   document.getElementById("btn_cate" + depth  + "_down").disabled = true;
   if (f['cate' + depth].options.selectedIndex>0)
   {
    document.getElementById("btn_cate" + depth  + "_up").disabled = false;
   }
   if (f['cate' + depth].options.selectedIndex < (f['cate' + depth].options.length-1))
   {
    document.getElementById("btn_cate" + depth  + "_down").disabled = false;
   }
  }
 });
}
function cate_down(depth)
{
 var f = document.mform;
 $.ajax({
  type: "POST",
  url: "<?=$_SERVER['PHP_SELF']?>",
  data: "mode=cate_down&idx=" + f["cate" + depth].value + "&depth=" + depth,
  cache: false,
  success: function(html)
  {
   var txt = "";
   var tv = "";
   txt = f['cate' + depth].options[f['cate' + depth].options.selectedIndex].text;
   tv = f['cate' + depth].options[f['cate' + depth].options.selectedIndex].value;
   f['cate' + depth].options[f['cate' + depth].options.selectedIndex].text = f['cate' + depth].options[f['cate' + depth].options.selectedIndex+1].text;
   f['cate' + depth].options[f['cate' + depth].options.selectedIndex].value = f['cate' + depth].options[f['cate' + depth].options.selectedIndex+1].value;
   f['cate' + depth].options[f['cate' + depth].options.selectedIndex+1].text = txt;
   f['cate' + depth].options[f['cate' + depth].options.selectedIndex+1].value = tv;
   f['cate' + depth].options.selectedIndex = f['cate' + depth].options.selectedIndex + 1;
   document.getElementById("btn_cate" + depth  + "_up").disabled = true;
   document.getElementById("btn_cate" + depth  + "_down").disabled = true;
   if (f['cate' + depth].options.selectedIndex>0)
   {
    document.getElementById("btn_cate" + depth  + "_up").disabled = false;
   }
   if (f['cate' + depth].options.selectedIndex < (f['cate' + depth].options.length-1))
   {
    document.getElementById("btn_cate" + depth  + "_down").disabled = false;
   }
  }
 });
}
</script>
<?=subtitle($g4[title])?>
<form name="mform" method="post" style="margin:0px;">
<table cellpadding=0 cellspacing=0 width=100% border=0>
<colgroup width=33%></colgroup>
<colgroup width=33% bgcolor=#FFFFFF></colgroup>
<colgroup width=33% bgcolor=#FFFFFF></colgroup>
<tr><td colspan=3 height=2 bgcolor=#CCCCCC></td></tr>
<tr class=ht>
 <td>1차분류</td>
 <td>2차분류</td>
 <td>3차분류</td>
</tr>
<tr class=ht>
 <td>
  <select name="cate1" size=25 style="width:260px" onchange="cate_chg(1)">
  <?
  $query = "select * from $tb where depth=1 order by sort,cate";
  $result = sql_query($query);
  while ( $row = sql_fetch_array($result) )
  {
   ?>
   <option value="<?=$row['idx']?>"><?=$row['cate']?></option>
   <?
  }
  ?>
  </select>
 </td>
 <td>
  <select name="cate2" size=25 style="width:260px" onchange="cate_chg(2)">
  </select>
 </td>
 <td>
  <select name="cate3" size=25 style="width:260px" onchange="cate_chg(3)">
  </select>
 </td>
</tr>
<tr class=ht>
 <td>
  <input type="text" name="cate1_txt" size=23>
  <input type="button" value="▲" onclick="cate_up(1)" id="btn_cate1_up" disabled>
  <input type="button" value="▼" onclick="cate_down(1)" id="btn_cate1_down" disabled>
  <br>
  <input type="button" value="신규" onclick="cate_add(1)" id="btn_cate1_new">
  <input type="button" value="수정" onclick="cate_edit(1)" id="btn_cate1_edit" disabled>
  <input type="button" value="삭제" onclick="cate_del(1)" id="btn_cate1_del" disabled>
 </td>
 <td>
  <input type="text" name="cate2_txt" size=23>
  <input type="button" value="▲" onclick="cate_up(2)" id="btn_cate2_up" disabled>
  <input type="button" value="▼" onclick="cate_down(2)" id="btn_cate2_down" disabled>
  <br>
  <input type="button" value="신규" onclick="cate_add(2)" id="btn_cate2_new" disabled>
  <input type="button" value="수정" onclick="cate_edit(2)" id="btn_cate2_edit" disabled>
  <input type="button" value="삭제" onclick="cate_del(2)" id="btn_cate2_del" disabled>
 </td>
 <td>
  <input type="text" name="cate3_txt" size=23>
  <input type="button" value="▲" onclick="cate_up(3)" id="btn_cate3_up" disabled>
  <input type="button" value="▼" onclick="cate_down(3)" id="btn_cate3_down" disabled>
  <br>
  <input type="button" value="신규" onclick="cate_add(3)" id="btn_cate3_new" disabled>
  <input type="button" value="수정" onclick="cate_edit(3)" id="btn_cate3_edit" disabled>
  <input type="button" value="삭제" onclick="cate_del(3)" id="btn_cate3_del" disabled>
 </td>
</tr>

<tr><td colspan=3 height=1 bgcolor=#CCCCCC></td></tr>
</table>

</form>

<?
include_once("./admin.tail.php");
?>

고수님들 한번 봐주세요 ㅠ.ㅠ

이 질문에 댓글 쓰기 :

답변 1

카테고리 한글값이 urlencode 된값이네요
cate = '" . addslashes($cate) . "' 로 저장되는부분을
cate = '" . urldecode(addslashes($cate)) . "' 로 변경해서 디코드된값으로 저장되게 해보세욤~
답변을 작성하시기 전에 로그인 해주세요.
전체 10,637
QA 내용 검색

회원로그인

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