🖥DEV/생산성 향상! TIP

[Tip] MySQL 한글 정보 입력

bdd 2022. 7. 20. 13:51

MySQL 5.7 버전에서 INSERT로 테이블에 한글 정보를 입력할 때 아래와 같은 오류가 발생할 수 있습니다. 이는 문자열 인코딩 설정 때문에 발생하는 오류인데요, 간단하게 해결할 수 있습니다.

 

ERROR 1366 (HY000): Incorrect string value: '\xEC\x9D\xB4\xEB\xAF\xB8...' for column 'name' at row 1

 

 

 

 

 

크게 두 가지 방법으로 해결할 수 있는데요, mysql.cnf를 통해 데이터베이스 전체의 설정을 바꿔주거나 한 테이블의 인코딩 정보를 수정해주방식이 있습니다. **데이터베이스 전체의 설정을 바꾸게 되면 재실행 시켜주거나 flush로 즉시 반영을 해줘야 합니다.

 

# 데이터 베이스 전체 인코딩 설정을 바꾸는 방법
$ sudo vi /usr/local/mysql/my.cnf

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
skip-character-set-client-handshake


[client]
default-character-set = utf8mb4


[mysql]
default-character-set = utf8mb4

 

# 한 테이블의 인코딩 설정을 바꾸는 방법
ALTER TABLE (테이블명) convert to charset utf8;