utf-8버전에서 한글 분류 제대로 사용하기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

utf-8버전에서 한글 분류 제대로 사용하기 정보

utf-8버전에서 한글 분류 제대로 사용하기

첨부파일

pds-rev.zip (72.0K) 62회 다운로드 2006-03-14 00:36:26

본문

혹시 저 같은 초보분들한테 도움이 될 것 같아 올립니다.

분류(카테고리)를 select 형식이 아니라  분류1|분류2|분류3 ... 처럼 펼침 메뉴로 사용하는 경우
utf-8 버전에서 제대로 작동되지 않는 경우:

a href = .... board.php?bo_table=테이블명&sca=rawurlencode($분류변수)로 넘기면 제대로 작동합니다. 

참고로 select 형식으로 사용하는 경우에는 encodeURI(this.value)로 넘기면 됩니다.

---------- 수정 및 첨가 ----------
제가 쓰고 있는 스킨 중의 하나를 약간 수정해서 올립니다(utf-8버전입니다).
스킨 원본은 어느 분이 올린 것인데 지금 찾아보니 그 스킨 게시물이 보이지 않네요. 작년 11월 경에 받았던 것 같은데... photofly님이 올리셨던가.... 자료실형 게시판 스킨입니다.

여분 필드 1: 썸네일 가로 크기(120), 여분 2: 해상도(100),  여분 3: 리스트 내용 분량(300)
으로 해서 테스트 하시면 됩니다.

펼침 메뉴 부분은 모르솔라님의 갤러리 스킨에 사용된 것을 그대로 따 왔습니다(일부 수정).

list.skin.php
(중략)
$cnt_bo_1 = $bo_1[0] ? $bo_1[0] : 10; // 한줄당 분류 갯수(현재:10)
$cnt = 1;
$cnt0 = 0;
$bb_s=""; $bb_e="";
$arr = explode("|", $board[bo_category_list]); // 구분자가 , 로 되어 있음
$str = " |";
for ($i=0; $i<count($arr); $i++)
if (trim($arr[$i]))  {
if ($sca == $arr[$i]) { $cnt0++; $b_s="<b>"; $b_e="</b>"; } else {$b_s=""; $b_e="";}
$str .= " <a href='./board.php?bo_table=$bo_table&sca=" . rawurlencode($arr[$i]) . "'>$b_s$arr[$i]$b_e</a> |";
if ($cnt == $cnt_bo_1) { $cnt = 0; $str .= "<br>"; }
$cnt++;
}
if ($cnt0 == 0 ) { $bb_s="<b>"; $bb_e="</b>"; }
?>
  <? echo " | ";echo $bb_s;?><a href='./board.php?bo_table=<?=$bo_table?>&page=<?=$page?>'>전체</a><?=$bb_e?>
<?=$str?></font></td>
</tr></table>
<? } ?> 
.....

위에서 rawurlencode($arr[$i])로 해주는 게 핵심입니다.
잘 돌아갈 겁니다. 갤러리 스킨에 적용해서 사용하고 있습니다.

good luck!
추천
2
  • 복사

댓글 11개

참고 제가 (성공적으로) 사용하고 있는 환경은 아래와 같습니다.

 - Apache: 2.0.54
 - PHP: 5.0.4
 - MySql: 4.1.11 (물론 default char set = utf8입니다)

 - 그누보드: 4.06.17(utf-8) ( 4.06.18에서도 문제 없네요)

 - 브라우저: MS IE 6.0, Mozilla Firefox 1.0.4 (모두 OK)

 대부분의 그누보드 사용자들한테는 매우 일반적인 환경이라 생각됩니다만....
 아뭏튼 도움이 되었으면 ....
감사합니다. 더불어 죄송하지만 ^^;;;
수정하여 사용하신 스킨을 올려주실수는 없으신지요?
펼침메뉴로 된 카테고리스킨도 또한 더블카테고리스킨등은 utf-8버전이 없어서요~

^___^; photofly님 말데로 sca부분은 잘 안되던데요. 특히 더블카테고리 스킨을 utf-8버전으로
작업하셨다면~~ 꼭 부탁드릴께요~~~
헤에~ 팁 감사드려요~
제가 잘 안된다고 하는것은
일반 페이지에서 카테고리로 링크를 거는것을 이야기하는것입니다...

a href = .... board.php?bo_table=테이블명&sca=카테고리명

이렇게 말입니다...

카테고리명을 분류변수로 가져올수없으니 카테고리명을 써넣어야하거든요..

카테고리명이 영문일경우는 잘 됩니다... 한글일경우만 안됩니다.

여기에는 위의 팁 적용이 안되더군요...^^
무엇이 문제일까요.. 최근게시물 불러오기.. 탭메뉴에 해당 카테고리 불러오기 다 되는데...해당 카테고리(분류)를 클릭 하면 내용이 안나옵니다. 게시물이 없다고 나옵니다. 계속적으로 엔코딩과 여기서 나온 해결책들 다 보면서 적용이 된다는 말을 보고 다 해보았는데 역시나 되지가 않습니다.... 에러는 뜨지는 않으나 있는 글을 없다고 나와버립니다. 글을 남기면 제일 최근에 남긴 글 달랑 하나만 해당 카테고리에서도 보이고 나머지 글을 인식을 못합니다. 전체보기는 또 됩니다. 어느 카테고리인지 표시도 잘 나오구요... 그런데 클릭을 하면 안나옵니다. 최근에 남긴 글 하나만 해당 카테고리에서 보여집니다. 어디를 건드려야 될까요... 아아아 답답합니다.. ㅠㅠ.. utf-8 이거 답답하네요.... 심지어 영문과 그냥 숫자로 된 카테고리도 설마 안될가 해서 해봤는데.. 그것도.. 최근에 남긴 글 딱 하나만 인식합니다... ㅠㅠ
우와 대박!! 제가 찾던 문제가 바로 여기있었군요!!
진짜 몇시간을 해보고 이변수 저변수 다 넣어보고.. 하다가..
우연히 검색해서 찾았네요!!
rawurlencode 이거 신기하네요 ㅋㅋㅋㅋ
© SIRSOFT
현재 페이지 제일 처음으로