CI 묻고 답하기

제목 [초급]검색시에 언어인코딩좀 알려 주세요~
글쓴이 헛발이 작성시각 2009/12/10 12:12:15
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 25486   RSS

일단 URL을 보여 드리면요...
아무것도 처리 하지 않고 그냥 검색했을 경우 일단 검색은 잘 해 옵니다..

그 이후에 페이지를 클릭하거나 상세 화면으로 이동하기 위해서 링크가 된 부분에 보면요 ..주소가..

http://도메인/members/findkey/address/findword/市/page/10 이렇게 링크가 걸려 있습니다.
하지만 클릭하면 에라 화면이 뜹니다..

An Error Was Encountere
The URI you submitted has disallowed characters.

이라구요...

하지만 주소에 http://도메인/members/findkey/address/findword/1/page/10 요렇게 하면 잘 됩니다..
그런것으로 봐서 언어(한글이나 일어)때문인거 같은데요..

포럼 소스를 보니 base64_encode()함수를 이용하여 처리 된것 같더라구요.. 그래서 저도 base64_encode를 넣어봤거든요..
그랬더니 결과가..

http://도메인/members/ZmluZGtleS9hZGRyZXNzL2ZpbmR3b3JkL+W4gi8=/page/10

이러더라구요..
그래서 결국 결과페이지가 처음과 마찮가지로

An Error Was Encountere
The URI you submitted has disallowed characters.

이렇게 나와요...

findkey/address/findword/市 이것 전체를 base64_encode로 해 주면 안되나요?
 

 다음글 [초급]CI기본달력에서 요일 한글로... (4)
 이전글 codeIgniter + mssql 연동 (1)

댓글

변종원(웅파) / 2009/12/10 13:06:49 / 추천 0
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';

이 부분때문입니다. 기본은 영어와 숫자 그외 기호 몇개만 주소에 사용할 수 있습니다.
base64_encode를 하더라도 문제가 생기는 것은 기호 '=' 때문입니다.

$config['permitted_uri_chars'] = '가-힣 a-z 0-9~%.:_=\-';

이렇게 하시면 '='까지 처리가 됩니다. 그래도 나중에 결국 문제가 생깁니다.

그래서....

$config['permitted_uri_chars'] = '';

전 이렇게 씁니다.
헛발이 / 2009/12/10 13:17:42 / 추천 0

역시... 감사합니다..
뭔가 설정에 이유가 있었군요.. 저도 웅파님 처럼 쓸래요.. ㅋㅋ 저도 해결 했습니다..
아마도 이 문제를 누군가 또 물어 볼거 같은 생각이 많이 드네요.. ㅋㅋ

변종원(웅파) / 2009/12/10 15:14:17 / 추천 0
네. 포럼 오픈하기전 홈페이지에서도 이슈가 됐던 문제입니다.
영어가 아닌 기타 언어를 주소에 쓸 경우에 생기는 문제입니다.
헛발이 / 2009/12/10 15:15:27 / 추천 0
아 감사합니다... ^^
byung82 / 2009/12/10 17:03:23 / 추천 0
rawurlencode를 사용해보시기 바랍니다 ^^;