분류사용할때 한글이 주소창에 그대로.... > 그누4 질문답변

그누4 질문답변

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

분류사용할때 한글이 주소창에 그대로.... 정보

분류사용할때 한글이 주소창에 그대로....

본문

 흠.. 이상한 일이 발생했습니다.

제가 뭘 못보고 안한거 같은데...

일단 게시판 설정에서 분류를 서울|인천|대전|광주|부산|울산

이런식으로 써 넣고 list 페이지에서 분류를 선택했을때

select 창에 onchange="location='<?=$category_option?>'+this.value;"

라고 써있는 부분을 주소창에 %BA%CD 머 이런식으로 나오기 위해서 스크립트 뒤에

onchange="location='<?=$category_option?>'+encodeURI(this.value);"

요런식으로 바꿨습니다.. 문제는 여기서부터..

정렬을 시켰는데 아무것도 안나오길래  php 에서 urlencode 를 써서 두개를 비교했습니다..

일단 목록에서 카테고리명을 클릭했을때 주소창엔 %B4%EB%C0%FC%C1%A1 식으로 뜹니다.

같은 문자로 인코드 해봐도 똑같이 %B4%EB%C0%FC%C1%A1 << 요게 나오는데

onchange="location='<?=$category_option?>'+encodeURI(this.value);"

식으로 했을땐 %EB%8C%80%EC%A0%84%EC%A0%90 << 요롷게 바뀌어서 나오네요..

이유가 뭘까요?

댓글 전체

제가 알기로 자바스크립트의 encodeURL 동작이 조금다른데


<script>
function UrlEncode(str){
  var ret="";
  var strSpecial="!"#$%&'()*+,/:;<=>?[]^`{|}~%";
  for(var i=0;i<str.length;i++){
  var chr = str.charAt(i);
    var c=str2asc(chr);
    tt += chr+":"+c+"n";
    if(parseInt("0x"+c) > 0x7f){
      ret+="%"+c.slice(0,2)+"%"+c.slice(-2);
    }else{
      if(chr==" ")
        ret+="+";
      else if(strSpecial.indexOf(chr)!=-1)
        ret+="%"+c.toString(16);
      else
        ret+=chr;
    }
  }
  return ret;
}
</script>

위에것을 써서


UrlEncode(this.value) 로 변경해보세요
스크립트가 뭔가;;;
ㅠㅠ 제가 스크립트는 젠병이라..
그리고 스크립트에서 바로 이동되야 하는데 location.href나 location 이런 문구가 없이 리턴되면 그 인코딩된 문자만 ret에 들어가는거 아닌가요? ㅠㅠ자세히.. 부탁드려요 ㅠㅠ
아.. 참고로 euc-kr용입니다.
<?
$ca_menu = explode("|",$board[bo_category_list]);
  for ($i=0; $i<count($ca_menu); $i++) {
      echo "<option value=".urlencode($ca_menu[$i]).">$ca_menu[$i]</option> ";
  }
?>

일단 이 소스로 해결했습니다...

그런데.. 이게.. 정렬이 되면 select 창에 분류명 그대로 남아있어야 하는데 그게 안되있네요 ㅠㅠ
우찌해야 될까요 ㅠㅠ
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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