| 제목 | mysql 이랑 연동하는데 한글이 깨져서 나옵니다. | ||
|---|---|---|---|
| 글쓴이 | jjoships | 작성시각 | 2013/08/07 15:23:50 | 
|  | |||
| mysql에 직접 콘솔로 접속해서 한글 데이터를 넣고 select를 해보거나, 웹페이지에서 한글 데이터를 DB에 인서트 한 이후 select로 확인해도 한글이 전부 ????로 나옵니다. 여러군데 돌아다니면서 my.ini 파일을 고쳐보기도 하고 별짓을 다했는데.. 아무리 해도 한글이 전부 ????로 뜨네요.. 아래는 제 database.php 입니다 $active_group = 'default'; $active_record = TRUE; $db['default']['hostname'] = 'localhost'; $db['default']['username'] = 'root'; $db['default']['password'] = 'apmsetup'; $db['default']['database'] = 'test'; $db['default']['dbdriver'] = 'mysql'; $db['default']['dbprefix'] = ''; $db['default']['pconnect'] = TRUE; $db['default']['db_debug'] = TRUE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ''; $db['default']['char_set'] = 'utf8'; $db['default']['dbcollat'] = 'utf8_general_ci'; $db['default']['swap_pre'] = ''; $db['default']['autoinit'] = TRUE; $db['default']['stricton'] = FALSE; ====================my.ini=================== # The MySQL server [mysqld] default-character-set = utf8 port  = 3306 skip-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M skip-innodb # The following options will be passed to all MySQL clients [client] default-character-set = utf8 port  = 3306 [mysqldump] default-character-set = utf8 quick max_allowed_packet = 16M [mysql] default-character-set = utf8 no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates | |||
| 다음글 | 레이아웃 잡기 질문 입니다. (3) | ||
| 이전글 | php에서 excel을 이용하실때 어떤 library를... (16) | ||
| 
                                전상민
                                /
                                2013/08/07 15:59:32 /
                                추천
                                0
                             | 
| 
                                jjoships
                                /
                                2013/08/07 17:01:12 /
                                추천
                                0
                             
                                 음.. 말씀하신대로 해봤고 안되기에, utf-8을 euckr로 해봤는데도 안되서 말입니다... 올려주신 명령어를 입력하고 ' \s ' 명령어를 쳐봤는데 Client Characterset 이 utf8이 아니라 latin1 로 되있네요.. 분명히 명령어 다 입력했는뎅... 흐음.. | 
| 
                                jjoships
                                /
                                2013/08/08 15:56:50 /
                                추천
                                0
                             
                                 아 되네요... 말씀하신대로 명령어 입력하고, 한글 입력이 안돼는 테이블을 드롭하고 다시 만드니까 됩니다. 감사합니다 ^^ | 
계정 설정이 UTF-8 로 돼있으면 mysql client character set 문제일 것 같기도 하네요.
아래 명령어로 "Client characterset" 이 설정값을 확인해보세요.
위 결과가 UTF8 이 아닐경우 처리 방법은 다음과 같습니다.
1. my.cnf 수정 권한이 있을 경우
아래 설정은 클라이언트 인코딩은 무시하고 서버 인코딩을 적용하는 설정입니다.
2. my.cnf 수정 권한이 없을 경우