본문 바로가기

캡스톤

MySQL 언어 설정 한글로 바꾸기

MySQL에 데이터를 저장하려 했을 때 밑과 같이 에러가 나왔다.

#1366 - Incorrect string value: '\xED\x99\x8D\xEB\x9D\xBC...' for column 'name' at row 1

찾아 보니까 이런 에러는 테이블 언어 설정이 utf-8로 되어 있지 않은데 한글을 넣으려고 했을 때 나온다고 한다.

 

그렇다면 언어 설정을 바꿔 보도록 하자. 아무 것도 건들지 않았을때 설정을 먼저 보면 밑과 같이 되어 있었다.

설정은 show variables like 'char%'; 로 확인한다.

대부분의 설정이 latin1로 되어있었다.

 

mysql.cnf 파일을 찾아 수정해야 한다.

내 환경은 ubuntu였고 내 기준으로 mysql.cnf의 위치는 /etc/mysql/mysql.cnf에 있었다.

 

mysql.cnf 파일을 열어 밑의 코드를 추가해 주었다.

[client]
default-character-set = utf8

 

결과는 이랬다.

character_set_client, character_set_connection, character_set_results, character_set_system이 바뀌었다.

 

또 추가로 밑의 코드를 넣어준다.

[mysqld]
character-set-server = utf8

 

모든 설정이 utf-8로 성공적으로 바뀌었다. 이제 mysql을 재시작 해준다. ubuntu에서는 service mysql restart를 해주면 된다.