MySQL의 한글문제
안녕하십니까
레드햇 엔터프라이즈 리눅스 AS4 버젼을 쓰고 있는데요
웹구축후 브라우져로 보면 DB 한글 입출력은 정상적으로 되고 있으나
phpMyAdmin이라든지 셸에서 덤프 받으면 한글이 깨집니다.
MySQL 버젼은 4.1.12 이고,
/etc/sysconfig/i18n 파일에서 utf-8을 euckr로 변경했고요
/etc/my.cnf 파일의 내용은
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
language=korean
wait_timeout=900
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
MySQL의 셋팅값은..
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
어디를 어떻게 손봐야 하나요?
레드햇 엔터프라이즈 리눅스 AS4 버젼을 쓰고 있는데요
웹구축후 브라우져로 보면 DB 한글 입출력은 정상적으로 되고 있으나
phpMyAdmin이라든지 셸에서 덤프 받으면 한글이 깨집니다.
MySQL 버젼은 4.1.12 이고,
/etc/sysconfig/i18n 파일에서 utf-8을 euckr로 변경했고요
/etc/my.cnf 파일의 내용은
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
language=korean
wait_timeout=900
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
MySQL의 셋팅값은..
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
어디를 어떻게 손봐야 하나요?
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 5개
utf-8 과 euc-kr 두가지 모두 이상없이 사용중입니다.. 참고하시구요..^^
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
덤프 받은 자료는 새로운 서버 환경에 맞춰서 character_set 변경후 insert ...^^
latin1 → utf8 = 한글깨짐,
utf8 → latin1 = 한글깨짐,
latin1 → latin1 = 한글 이상없음,
utf8 → utf8 = 한글 이상없음.
아래 코맨트 다신 photofly님과 다른부분이 많죠..?
my.conf파일을 고치시와요..
저도 utf-8로설치 했는데
Client characterset: latin1
Conn. characterset: latin1
않바뀐 부분이 보이는군요..
| character_set_client | latin1 | <----- urf8
| character_set_connection | latin1 | <-----urf8
| character_set_database | latin1 | <-----urf8
| character_set_results | latin1 | <-----urf8
| character_set_server | latin1 | <-----urf8
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | latin1_swedish_ci | <-----urf8_general_ci
| collation_database | latin1_swedish_ci | <-----urf8_general_ci
| collation_server | latin1_swedish_ci | <----- urf8_general_ci
-----------------------------------------------------------------------------------
my.conf 가 아니라 my.cnf 를 찾으세요
# find / -name my.cnf -print
----------------------------------------------------------------------------------
/etc/sysconfig/i18n 설정 ( 만약에 쉘상에서도 mysql 이외에 한글이 깨진다면... )
LANG="ko_KR.eucKR"
SUPPORTED="ko_KR.eucKR:ko_KR:ko"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"
위와같이 확인하시고...
-----------------------------------------------------------------------------------
mysql의 경우 버젼이 5.x 가 아니라 4.x 일경우 리눅스 쉘상에서 mysql 콘솔 접속을 통해서
select 쿼리로 한글값을 보는경우 깨진다면 십중팔구 my.cnf 문제로 보입니다
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
esc (명령입력상태) 키를 누르고
/%s/latin1/utf8/g 입력하면 한번에 바뀝니다..
(/%s/찾을글/바꿀글/g)
바꾼상태에서 저장하고 편집기를 빠져나와 db 에 dump 받은 파일을 insert 하세요