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를 해주면 된다.
'캡스톤' 카테고리의 다른 글
Android에서 MySQL로 데이터 저장하기 (로그인) (0) | 2020.06.01 |
---|---|
Android에서 MySQL로 데이터 저장하기 (회원가입) (0) | 2020.05.21 |
서버 구축하기 (Apache, MySQL, PHP 설치 및 연동) (0) | 2020.05.13 |
Google Places API로 주변 카페 탐색 (1) | 2020.04.29 |
Google Map Android API로 현재 위치 표시 (0) | 2020.04.29 |