MySQL의 한글문제 정보
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 |
어디를 어떻게 손봐야 하나요?
댓글 전체
MySQL의 셋팅값은.. 저의 경우는 아래와같이하여
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 = 한글 이상없음.
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 = 한글 이상없음.
mysql설치시 utf-8로 설정이 제대로 않되었나 봅니다.
아래 코맨트 다신 photofly님과 다른부분이 많죠..?
my.conf파일을 고치시와요..
저도 utf-8로설치 했는데
Client characterset: latin1
Conn. characterset: latin1
않바뀐 부분이 보이는군요..
아래 코맨트 다신 photofly님과 다른부분이 많죠..?
my.conf파일을 고치시와요..
저도 utf-8로설치 했는데
Client characterset: latin1
Conn. characterset: latin1
않바뀐 부분이 보이는군요..
MySQL의 셋팅값은..
| 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 문제로 보입니다
| 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 문제로 보입니다
추가로 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
[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
추가로 dump 받은 파일을 vi 편집기로 열어서
esc (명령입력상태) 키를 누르고
/%s/latin1/utf8/g 입력하면 한번에 바뀝니다..
(/%s/찾을글/바꿀글/g)
바꾼상태에서 저장하고 편집기를 빠져나와 db 에 dump 받은 파일을 insert 하세요
esc (명령입력상태) 키를 누르고
/%s/latin1/utf8/g 입력하면 한번에 바뀝니다..
(/%s/찾을글/바꿀글/g)
바꾼상태에서 저장하고 편집기를 빠져나와 db 에 dump 받은 파일을 insert 하세요