-
MYSQL) 한글이 ??? 으로 작성될때 문제 해결 UTF-8 (ubuntu 18.0.4)Programing Language/Database 2022. 10. 28. 14:54728x90반응형
MySQL에 INSERT 작업을 하면 한글이 ???로 깨져서 저장이 되거나, incorrect string value: '\xE3\x84\xB4\xE3\x85\x87...' for column과 같이 INSERT가 안될때가 있습니다.
이런 경우는 주로 데이터베이스의 인코딩 타입이 UTF-8로 제대로 설정이 안되서 발생하는 에러입니다.
이번 포스팅에서는 Windows에서 MySQL 한글 깨짐 문제의 원인인 character_set을 UTF-8로 변경하는 것을 다뤄보겠습니다.
MySQL은 모두 설치되어 있다고 가정하고 본 포스팅에서는 character_set을 UTF-8로 변경만 하겠습니다.
1. MySQL character_set을 검색하기
아래와 같이 c로 시작하는 것들을 검색해보면 다음과 같이 character_set 관련 설정이 나옵니다.
현재 저는 character_set_* value가 모두 utf8로 설정이 되어있습니다.
utf8로 설정이 되어 있지 않은 분들은 mysql.cnf 파일을 수정해줍니다.
SHOW VARIABLES LIKE 'c%'; +--------------------------+---------------------------------------------------------+ | Variable_name | Value | +--------------------------+---------------------------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.7\share\charsets\ | | check_proxy_users | OFF | | collation_connection | utf8_general_ci | | collation_database | utf8_general_ci | | collation_server | utf8_general_ci | | completion_type | NO_CHAIN | | concurrent_insert | AUTO | | connect_timeout | 10 | | core_file | OFF | +--------------------------+---------------------------------------------------------+ 16 rows in set, 1 warning (0.01 sec)
- mysql.conf위치
vi /etc/mysql/conf.d/mysql.cnf
- 값 붙여 넣기
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci init-connect='SET NAMES utf8' character-set-server = utf8
- 서버 재시작
service mysql stop service mysql start
도움되셨다면 개발자에게 커피한잔을 위해 광고클릭!!
728x90반응형'Programing Language > Database' 카테고리의 다른 글
mysql) 월별 방문자 통계 SQL문 만들기 (0) 2023.02.18 mysql) 이번주 또는 저번주 방문자 통계 sql 문 (0) 2023.02.18 DataBase) 제품별 Table, Schema 정의 차이점. (0) 2022.10.14 MongoDB) mysql에서 union select을 몽고디비에서 하는법 ($facet) (0) 2022.10.12 MYSQL) 다중 테이블 한번에 UPDATE 하기 (0) 2022.09.29