제목 | ci 한글문제 때문에 마음고생이 심하네요 | ||
---|---|---|---|
글쓴이 | 아날로직 | 작성시각 | 2009/04/13 22:15:32 |
|
|||
처음에 한글을 디비에 입력하면 아예 공백으로 들어가는 문제가 있었습니다. mb_convert_encoding 함수로 인코딩 해서 넣는것으로 일단 입력은 되었습니다만 또 다른 문제가 생겼습니다. 세션에 한글을 넣으니 세션이 완전히 사라져 버리는 문제인데요... 하아.. 이것참.. 다른분들은 한글문제가 없는지 구글링 해봐도 저와 비슷한 케이스가 없는것 같네요. 아래는 문제의 코드 부분입니다. $row = $query->row(); $user_name = iconv("UTF-8","EUC-KR",$row->user_name); $this->load->library('session'); $this->session->set_userdata('user_id', $this->input->post('user_id')); $this->session->set_userdata('user_name', $user_name); 저기서 마지막줄에 $user_name 대신에 아이디를 넣으면 정상작동 됩니다만... 한글만 넣으면 세션이 완전히 사라져 버립니다. 혹시 저와 같은 경험을 하신분들 없으신가요? 저는 세션을 디비에 넣고 있습니다. |
|||
다음글 | 사용자 포럼 사이트 제작 논의 합시다! (2) | ||
이전글 | 메뉴얼에 오타(?)가 있습니다. (3) | ||
아날로직
/
2009/04/13 22:22:31 /
추천
0
,$row->user_name 을 그대로 넣어서 세션생성 후에 출력할때 iconv 나 mb_convert_encoding 같은함수로 로 바꿔주니까 일단 되긴 되는군요. 제 서버설정에 뭔가 문제가 있는것 같기도 하고.. 캐릭터셋.. 이거 뭔가 어렵네요~
|
변종원(웅파)
/
2009/04/13 22:45:14 /
추천
0
$user_name = iconv("UTF-8","EUC-KR",$row->user_name);
echo $user_name; // 이거 잘 나오는지 한번 보시구요. db는 utf-8로 쓰시고 php파일은 euc_kr로 쓰시는거죠? 이유가 궁금합니다. 대세라기 보다는 둘다 utf-8로 쓰는 것이 좋습니다. 메뉴얼에 의하면 쿠키의 최대용량은 4kb입니다. 기존에 세션으로 만드는 데이터가 4kb를 넘는지도 체크해보시구요. db세션을 쓰신다면 euc_kr로 만든걸 utf-8 db에 넣었다가 다시 빼내서 쓰다보면 꼬일 가능성이 농후하네요. iconv로 euc_kr로 만들지 마시고 $user_name = iconv("UTF-8","EUC-KR",$this->session->userdata('user_name')); 이렇게 쓰시기 바랍니다. 코드상으로는 이상한 점이 없습니다. 이런 문제가 생기지않게 하는 제일 좋은 방법은 db, php파일 환경 모두 utf-8로 쓰시는 것입니다. ^^ |
아날로직
/
2009/04/14 09:21:23 /
추천
0
그렇군요 php 환경을 euc_kr 로 쓰는 이유는.. 몰라서 였습니다 커허허...
.htaccess 파일에 아래 두줄을 추가하고 에디터에서 파일속성을 utf-8로 바꿔주니 해결 됐습니다. 말씀대로 db 는 utf-8 환경이고요 AddDefaultCharset utf-8 php_value default_charset "utf-8" |