[해당 포스트는 개인적으로 공부를 하고 차후에 참고용으로 하고자 작성한 것입니다.
따라서 잘못된 부분이나 부족한 부분이 있을 수 있기에 참고하시기 바랍니다.]
특정 테이블에 한글로 입력된 데이터를 삽입해야 할 필요가 있을 수 있다.
그러나 기본 테이블은 UTF8이 설정이 되어있지 않기에 한글이 깨져서 나오는 문제가 발생한다.
다음과 같은 에러가 대표적인 케이스이다.
mysql> ERROR 1366 (HY000) : incorrect string value : ''\x9A\xB1\xEC...' for column 'user_name' at row 1
이러한 문제를 해결하기 위해 다음의 2단계를 거쳐야한다.
1. Database설정 파일에서 default character-set을 UTF8로 설정하기
설정 파일은 다음의 경로에 존재한다. (CentOS 기준)
/etc/my.cnf
접속하면 기본적으로 [mysqld]에 관해서만 서술이 되어있을 것이다.
[client], [mysql]를 추가하고 모든 설정에 다음의 명령어를 추가하자.
[mysqld]
...
default-character-set=utf8
...
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
2. Table을 UTF8로 설정하기
1번 과정을 끝낸 후, Table을 생성하고 다음의 명령어를 통해 character-set을 UTF8로 설정할 수 있다.
ALTER TABLE 테이블이름 convert to charset utf8;
마지막으로 정상적으로 적용시키기 위해 mysql restart를 통해 재시작시켜주도록 하자.
'Database > MySQL' 카테고리의 다른 글
[MySQL] Group By ~ Having 사용하기 (0) | 2019.09.05 |
---|---|
[MySQL] MySQL 테이블 [생성/수정/삭제] 실습 (1) | 2019.09.05 |
[MySQL] 특정 IP 대역 개방하여 외부에서 MySQL 접속 / 사용자 권한 (0) | 2019.09.05 |
[MySQL] MySQL 초기 설치시 Access denied가 뜰 경우 (0) | 2019.09.05 |
[MySQL] AWS CentOS MySQL 설치 (0) | 2019.09.05 |