-
[mysql] mysql 한글 깨짐 현상 ( UTF-8로 인코딩 변경)프로그래밍/Etc 2014. 8. 24. 21:19728x90반응형
mysql db에서 SQL 질의 결과를 csv로 export해서 엑셀로 열어보자 한글이 깨지는 현상이 발생했다.
사실 이 현상 자체는 csv의 인코딩을 엑셀이 제대로 인식을 못해서 벌어지는 문제로
그 후 메모장으로 열어서 인코딩을 ANSI로 바꾸고 다시 엑셀로 열자 해결되었다.
그러나 이 방법을 알기 이전에 이미 mysql 기본 인코딩을
utf-8로 바꾸는 삽질(아니 뭐 딱히 삽질이 아닐지도;)을 했기 때문에 여기 정리해둔다.
일단 현재 mysql 기본 인코딩을 확인해보았다.
mysql> status
--------------...
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8...
--------------
Server와 DB 인코딩이 기본 Latin1으로 되어있다.
이런 인코딩은 my.cnf 설정파일을 수정하면 된다.
my.cnf 위치를 찾기 위해서 다음과 같은 명령어를 입력했다.
# mysql --verbose --help | grep -A 1 'Default options' Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf/etc/my.cnf 파일을 열어 utf8 인코딩 설정을 아래와 같이 추가 하였다.
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
character-set-server=utf8
collation-server=utf8_general_ci
init_connect = set collation_connection = utf8_general_ci
init_connect = set names utf8
[mysql]
default-character-set=utf8[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set=utf8[client]
default-character-set=utf8[mysqldump]
default-character-set=utf8그리고 mysqld를 재시작.
#service mysqld restart
mysqld 를 정지 중: [ OK ]
mysqld (을)를 시작 중: [ OK ]이제 전체 인코딩이 utf8로 변경된 것을 확인할 수 있다.
--------------
mysql Ver 14.14 Distrib 5.5.38, for Linux (x86_64) using readline 5.1...
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8...
--------------
728x90반응형'프로그래밍 > Etc' 카테고리의 다른 글
Makefile 예시문 (0) 2014.11.21 윈도우 서버 2012 - 플래시 업데이트 에러 (0) 2014.11.15 리눅스(CentOS) 에 nutch 1.8 설치 하기 (2) 2014.05.05 리눅스(CentOS) 에 solr 설치하기 (1) 2014.05.04 리눅스(CentOS)에 자바 설치하기 (0) 2014.03.30