Header Ads

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 을 기준으로 작성하였습니다.

No comments

Copyright 2016, minki. All rights reserved. Powered by Blogger.