2015년 2월 11일 수요일

CI 세그먼트 한글 문제

코드이그나이터의 주소체계입니다. 

http://example.com/[controller-class]/[controller-method]/[arguments]

arguments 부분에 한글이 들어가는 주소가 있는데 (게시물 제목 등),
post 로 받아와 url_title 로 주소를 가공할 경우,
정상적으로 작동하지 않는 경우가 있습니다.

그럴경우 아래의 소스코드처럼 url_helper.php 와 config.php 파일에
가-힣 을 추가해 주면 한글주소도 정상적으로 작동하게 됩니다.
// system/helpers/url_helper.php 495 line
'[^가-힣a-z0-9 _-]' => '',

// application/config/config.php 157 line
$config['permitted_uri_chars'] = '가-힣a-z 0-9~%.:_\-';
하지만 여기에도 문제가 있는데요.
일본어나 중국어같은 전각문자의 경우에도,
정상적으로 작동을 안하는데요.

그럴경우 application/config/config.php 파일의 157 line 부분을
그냥 주석처리 해주시면 됩니다.

아니면 아래처럼 일본어 히라가나와 한자, 일본식 영어,숫자 까지 예외처리를 해주셔야죠.

// application/config/config.php 157 line
$config['permitted_uri_chars'] = '一-龠ぁ-んァ-ヴーa-zA-Z0-9a-z 0-9~%.:_-';
코드이그나이터 3.0 을 기준으로 작성하였습니다.

댓글 없음:

댓글 쓰기

ChatGPT 와 AI 미래에 대한 대화, 그리고 감동

우연히 유튜브에서 구글 전 CEO 에릭슈미트가 한 이야기를 보았다. 앞으로 1~2년 사이에 인공지능으로 인해 많은것들이 바뀔것이다. 뭐 이런 이야기는 누구나 할 수 있는 말이다. 책 팔아먹기위해 나온 영상일 수도 있겠지만, 핵심은 영상 뒷부분에 있다....