제목 | url에 한글이 들어갈 경우 어떻게 처리를 해야 되는지.. | ||
---|---|---|---|
글쓴이 | newjysh | 작성시각 | 2012/06/14 05:54:29 |
|
|||
검색 후 페이징의 링크 문제로 고민을 하고 있습니다.
CI 2.1.0을 이용한 개발중에 있습니다.
utf-8을 사용합니다.
검색어가 한글일 경우 자바스크립트에서 encodeURIComponent 할 경우와
다른 주소가 표시가 됩니다.
/classad/start/search/고/
한글 '고' 가
encodeURIComponent 일 경우와 브라우저 주소창의 표시가 다릅니다.
쿼리문에 넣으려고 하는데 한글로 디코딩을 못하고 있습니다
또, 여기 포럼은 검색시 주소창에는 한글이 바로 표시가 되는데 어떻게 하신것인지
알고 싶습니다.
|
|||
첨부파일 |
memo.zip (550 Bytes) |
||
다음글 | A PHP Error was encountered 에러... (2) | ||
이전글 | Prepared Statements에 대한 궁금한사항입... (7) | ||
불멸의새
/
2012/06/14 08:06:54 /
추천
0
|
한대승(불의회상)
/
2012/06/14 09:47:17 /
추천
0
application/config/config.php 에서
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';이 부분을 $config['permitted_uri_chars'] = '가-힣a-z 0-9~%.:_\-';으로 수정해 주시면 됩니다. |
인스카
/
2012/06/14 10:44:35 /
추천
0
음.. 저는 자바스크립트에서 GET 주소를 호출할 때 encodeURIComponent를 사용하고,
Codeigniter에서 받을 때 urldecode를 사용합니다. 정확하게는 decode 방식에 따라 메소드가 다른 것 같던데, 일단은 제가 사용하는 범위 내에서는 디코딩이 잘 되더라고요.. |
장점은 한글 그대로 표시 가능하다는 점이 있지만 Get String 에서 사용되는 특수문자들을 입력할 경우 제대로 처리가 안되는 문제가 발생하고 이 부분은 영어도 동일합니다.
URL을 분명하게 볼 수 있게 하기 위해서 일정 부분을 포기 할 수 있다면 Get String에서 사용되는 특수문자들을 제거 혹은 변환 후 적용하는 방법이 있고요.
보는 것보다 정확한 데이터가 중요하다고 생각된다면 URL Encoding으로 처리하는 것이 바람직해 보입니다.