MySQL의 한글문제 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

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 |

어디를 어떻게 손봐야 하나요?

댓글 전체

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  = 한글 이상없음.
mysql설치시 utf-8로 설정이 제대로 않되었나 봅니다.
아래 코맨트 다신 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 문제로 보입니다
추가로 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
추가로 dump 받은 파일을 vi 편집기로 열어서
esc (명령입력상태) 키를 누르고
/%s/latin1/utf8/g  입력하면 한번에 바뀝니다..

(/%s/찾을글/바꿀글/g)

바꾼상태에서 저장하고 편집기를 빠져나와 db 에 dump 받은 파일을 insert 하세요
전체 16 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT