CI 묻고 답하기

제목 한글 특수문자 관련
글쓴이 뽁쓰 작성시각 2011/03/11 16:11:32
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 24714   RSS
안녕하세요. 실로 오랜만에 뵙습니다.

다름이 아니라 한글URI 사용시에 특수문자가 포함되면 검색이 안됩니다.

예를들어 "가나다라" 라고 하면 검색이 잘 되지만 "가나다라("라고 하면 실제 데이터가 없이 나옵니다

그런데 쿼리를 찍어보면

"select * from table where name = '가나다라(' 라고 되어 있고 해당 쿼리를 실제 날려보면 데이터가 존재합니다.

config에서 permitted_uri_chars = '' 으로 설정해놓았는데.....

왜 이럴까요?
 다음글 [초보]ajax에 대한 기본적 지식 (8)
 이전글 동영상 업로드 할때 파일만 빼고 db에 저장가능할까요?... (1)

댓글

변종원(웅파) / 2011/03/11 17:31:58 / 추천 0

ci에서는 db action과 관련된 각각의 변수, 배열을 escape처리해줍니다.
sql injection에 대한 방비를 자동으로 해주는데 그 부분에서 문제가 될 수 있습니다.

http://codeigniter-kr.org/user_guide/database/active_record.html

매뉴얼에서

$this->db->set(); 부분 보시면 세번째 옵션인 $escape이 나옵니다.

where()에도 동일하게 적용이 됩니다.