Major Study./Computer Science

MySQL에서 글자 깨짐 현상

sosal 2016. 3. 22. 19:58
반응형

/*

 http://sosal.kr/
 * made by so_Sal
 */



서버에서 관리를 할 때, 데이터베이스 encoding (character set)이 UTF8로 설정되어있지 않은 경우가 있다.

이미 만들어져 있는 디비에서 select 쿼리를 이용하여 데이터를 보는데, 다 깨져있을 경우에 위와 같은 상황일 확률이 높다.


예를 들면 다음의 상황이다.


mysql> select member_id, name, date, time from member limit 10;


이렇게 정보를 출력하는데, 인코딩 문제 때문에 알아볼 수 없는 경우가 있다.


이런 경우, 도대체 어떤 인코딩 설정으로 되어있기에, 이렇게 보이는 것일까?

답은  character set에 있다.




MySQL 커맨드에서 다음과 같이 입력하면 현재의 character set을 볼 수 있다.


mysql> show variables like 'c%';



위의 결과에 따라서 지금까지 latin1이라는 character set으로 내용이 출력되었다.

이 데이터를 UTF8 형태로 출력만 하게 한다면 문제 없이 동작 할 것이다.


mysql> set names utf8;



mysql> select member_id, name, date, time from member limit 10;

- 인코딩이 잘 맞춰져서 데이터가 나오는 결과화면