제목 | 검색 세그먼트 추가 후 페이징 링크 한글 URI 문제 | ||
---|---|---|---|
글쓴이 | 우리모 | 작성시각 | 2012/07/20 11:07:22 |
|
|||
안녕하세요. 검색 + 페이징 작업하다가 궁금한게 있어서 문의 드립니다. 현재 PHP4(EUC-KR), MYSQL4(EUC-KR), CI 1.7.3 config(UTF-8), 페이지 인코딩(UTF-8), 크롬으로 세팅 해놓고 사용중입니다. Allowed URL Characters는 $config['permitted_uri_chars'] = '가-힣a-z 0-9~%.:_\-'; 이렇게 변경해놨구요. 링크 후에도 한글 세그먼트를 유지하고 싶은데 urlencode, base64 등등 써서 넘기면 다른 문자로 변경되서 변경하지 않고 세그먼트를 유지할 수 있는 방법이 있나요?? 검색시 세그먼트 추가하고 마지막에 페이징을 붙여서 사용하고 있습니다. 검색 후에 한글도 잘 나오고 검색도 잘 되는데 페이징 링크(그냥 링크도 포함)를 타고 넘어가면 아래와 같이 변합니다. % B0% F8% C1% BE% C5% C2 변경까지는 좋은데 링크가 연결되지 않을때가 있고 연결 될때가 있더라구요. An Error Was EncounteredThe URI you submitted has disallowed characters. |
|||
태그 | 깨짐,URI,한글,세그먼트,링크,검색 | ||
다음글 | 크롬에서 새로고침시 세션을 마구찍어냅니다 (5) | ||
이전글 | layout 질문드립니다. (1) | ||
우리모
/
2012/07/20 11:12:03 /
추천
0
% B0% F8% C1% BE% C5% C2 <- 이것때문에 몇번을 수정한건지.. ㅠ_ㅠ
|
변종원(웅파)
/
2012/07/20 11:36:52 /
추천
0
포럼 주소 만드는 방식 잘 보시면 검색할때 form action의 주소에 검색어를 포함한 방식으로 |
우리모
/
2012/07/20 12:44:00 /
추천
0
// 포럼 링크방식(view) <a href="/<?= $lt['tbn'] ?>/view/<?= $lt['no'] ?>/page/<?=$page_account?>/<?=$search_url?><?=$search_sfl?>" title="<?= $bubble_title ?>">-<?= $bl1 ?><?= $this-> common->strcut_utf8(strip_tags($lt['subject']), 30) ?><?= $bl2 ?></a> // 제가 사용하는 방식 // controller $data['search_url'] .= "/orderId/".$this->uri->segment($arr_val); //검색갯수 + a $data['paging_url'] = "/list/".$this->seg_exp[$arr_val]; // view // ~ 생 략 ~ <td> <a href="<?php echo "[default_address]/page/".$row->id.$search_url.$paging_url; ?>"><?php echo $row->name; ?></a> </td> // ~ 생 략 ~포럼에서 사용하는 방식이랑 제가 사용하는 방식이랑 많이 다른데요. 지금 DB가 EUC-KR이지만 데이터는 UTF-8로 들어가 있어서 DB에서 보면 다 깨져보이네요;; 그리고 iconv('UTF-8', 'EUC-KR', $url) 해보면 글씨가 다이아몬드로 깨져서 보이네요. 한글이 퍼센트16진수로 나오는걸 바꿨거든요. [default_address]/page/13/member_id/% C0% FC% BF% B5% B5% B5에러메시지 나왔을때의 URI 인데 선언한 허용문자에 다 들어있는 문자임에도 불구하고 안나와서요. 그냥 $config['permitted_uri_chars'] = ''; 이렇게 바꿔서 사용해야 할까요?? |
우리모
/
2012/07/20 13:23:22 /
추천
0
<?php echo $_SERVER['PHP_SELF']; ?>이렇게 쓰면 깨지지 않고 페이지에 표시도 되고 주소창에도 아름답게(?) 한글로 표시되고 있습니다. 링크를 생성할 경우 세그먼트를 붙여서 이동하면 퍼센트16진수로 변경되면서 에러가 뜨네요. |
ci_chobo
/
2012/07/25 16:12:08 /
추천
0
우리모님
이 문제 혹시 해결하셨나요 ? 검색할때 한글로 넘기면 님처럼 저도 16진수로만 뜨더라구요.. |
우리모
/
2012/08/03 12:33:39 /
추천
0
ci_chobo님
일단 개발일정 때문에 밀려서 미뤄논 상태구요. 해결하게 되면 추가적으로 달아놔야겠네요. 구글 검색하니 제 글이 맨처음 올라오는걸 보니 많은 분들이 검색해보신듯.. =ㅅ=ㅋ |
우리모
/
2012/08/03 14:11:34 /
추천
0
검색하시는 분들께 도움이 되고자 저의 해결방법을 남겨놉니다.
일단 기본적으로 주소는 urlencode되어 작업되기 때문에 < 요 형태로 변경이 됩니다. 현재 모든 세팅은 UTF-8로 통일을 한 상태이며 - URL에 한글이 보이도록 한건 그대로 출력하였기 때문이고, - 검색이나 폼에서 사용하게 될 경우는 urldecode를 사용해서 해결했습니다. urldecode 상태 : (00 = 16진수) EUC-KR - UTF-8 깨진 경우 : <?><?><?> <- 특수문자로 깨져서 나옴 UTF-8 - EUC-KR 깨진 경우 : 뷁궭훩 <- 이상한 한글로 깨져서 나옴 웅파님 감사합니다 :) |