CI 묻고 답하기

제목 한글 쿼리시 한글이 깨진체로 실행?
글쓴이 Jason 작성시각 2012/07/19 05:53:55
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 17180   RSS
세그먼트 한글로 받아서 디코드 하고 쿼리를 런하는데,
막상 쿼리를 실행 할때는 한글이 깨져서 검색을 하는듯 합니다.

$slug2 = iconv("utf-8", "euc-kr", urldecode($slug));
$query = $this->db->query('SELECT * FROM news where slug = "'. $slug2 . '"');
echo $this->db->last_query(); 
echo $query->num_rows();

이렇게 실행시키면

SELECT * FROM news where slug = "안녕하세요"0 

이렇게 나와요..

phpmyadmin 에서 저 쿼리를 런하면 문제없이 나오는데.



config 설정도 아래처럼 했습니다.
$config['charset'] = 'UTF-8';
$config['permitted_uri_chars'] = '가-힣a-z 0-9~%.:_\-';


아무래도 설정 문제 같은데..  뭐가 문제 일까요?
 다음글 폼검증 에러를 요렇게 처리는 안될까요 (7)
 이전글 정말 궁금합니다. - postgresql 관련 (1)

댓글

한대승(불의회상) / 2012/07/19 07:48:45 / 추천 0
SQL 에서는 문자열을 사용 하실때 " 가 아닌 ' 로 사용 하여야 합니다.

$query = $this->db->query('SELECT * FROM news where slug = "'. $slug2 . '"');
이 부분을
$query = $this->db->query("SELECT * FROM news where slug = '". $slug2 . "'");
이렇게 바꾸거나
$query = $this->db->query("SELECT * FROM news where slug = ?", array($slug2));
이렇게 바꿔 보세요.

Jason / 2012/07/19 23:40:20 / 추천 0
바꿔서해봤는데 안돼네요. 쿼리 문제는 아닌거 같아요.