* 이곳은 제가 운영과 개발을 하면서 겪은 경험(삽질!?)과 지식을 개인적으로 정리하고 기록하는 공간입니다.

* 다른 누군가는 저와 같은 삽질을 하지 않기를 바라면서 조금씩 공유해봅니다.

MariaDB
2018.06.17 12:54

데이터 insert 시 한글깨짐현상

조회 수 3869 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄

mysql&mariadb는 캐릭터셋이 database, table, column으로 세분화해서 관리된다.

 

개발서버에서 생성한 DB의 캐릭터셋이 아래와 같이 되어 있어서 데이터 insert 시 한글이 깨지는 현상이 발생한다.

 

database : latin1

table&column : utf8

 

아래와 같은 절차로 database도 utf8로 변경하니 한글깨짐 없이 insert가 잘 된다.

 

참고로 centos7 버전에서의 서비스재시작 명령어는 service가 아니가 systemctl을 써야 한다.

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

MySQL DB에 값을 입력하거나 백업(dump) 파일을 복원할 때 한글 값이 제대로 저장되지 않는 경우가 있다. 이런 경우 대부분 character set 설정문제이며 UTF-8로 설정하면 쉽게 고칠 수 있다.

 

MySQL 설치 기본 상황

 - latin1으로 Character-Set이 설정되어있다.

 - 한글을 사용하기 위해서는 UTF-8로 변경하면 사용할 수 있다.

 

 

MySQL 한글 깨짐 현상 해결하기

 - 한글을 저장하면 아래와 같은 ??? 형태의 모습을 볼 수 있다.

+---+-----+
|id |name |
+---+-----+
|1  |???  |
|2  |???  |
+---+-----+

 

 

설정파일 변경하기

 - /etc/mysql/my.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

 

 

기존의 만들어져있던 Database나 Table들의 Character-Set이 변경되는 것은 아니므로 직접 변경을 해줘야 한다.

 

 

# 기존의 Database의 Character-Set 속성 변경하기

mysql> ALTER DATABASE [DB명] DEFAULT CHARACTER SET utf8;

 

 

# 현재 Character-Set 확인하기

mysql> show variables like ‘c%’
mysql> status

 

 

# MySQL 재시작하기

[root@hooni ~]# service mysql restart

 

 


 

[출처] https://hooni.net/86661

 

Who's 오토소장

profile

유튜브 (https://www.youtube.com/@taskautolab)

아카데미 (https://taskautolab.com)

커뮤니티 (https://autolabs.co.kr/)

 

 

 

 

 

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
36 VC# c# 패널 부모 도킹 두개이상 안되는 현상 오토소장 2020.10.06 60
35 curl curl-master\projects\Windows\VC15\lib\libcurl.vcxproj : error : 프로젝트 파일을 로드할 수 없습니다. file 오토소장 2020.08.25 71
34 윈도우 하드 디스크 통째로 복사 오토소장 2020.08.09 280
33 Oracle 특정문자 또는 특수문자 제외하고 검색 조회하기 오토소장 2020.08.06 44
32 XE AWS Rhymix 설치 오토소장 2019.07.30 135
31 MonoDevelop 5.MS Windows MonoDevelop IDE 설치 및 실행 (VS2017 기준) file 오토소장 2019.07.29 696
30 MonoDevelop 4.MS Windows MonoDevelop IDE 설치 및 실행 (VS2017 기준) file 오토소장 2019.07.29 280
29 MonoDevelop 3.MS Windows MonoDevelop IDE 설치 및 실행 (VS2017 기준) file 오토소장 2019.07.29 333
28 MonoDevelop 2-6.MS Windows MonoDevelop IDE 설치 및 실행 (VS2017 기준) file 오토소장 2019.07.25 240
27 MonoDevelop 2-5.MS Windows MonoDevelop IDE 설치 및 실행 (VS2017 기준) file 오토소장 2019.07.25 272
26 MonoDevelop 2-4.MS Windows MonoDevelop IDE 설치 및 실행 (VS2017 기준) file 오토소장 2019.07.25 478
25 MonoDevelop 2-3.MS Windows MonoDevelop IDE 설치 및 실행 (VS2017 기준) file 오토소장 2019.07.24 227
24 MonoDevelop 2-2.MS Windows MonoDevelop IDE 설치 및 실행 (VS2017 기준) file 오토소장 2019.07.24 254
23 MonoDevelop 2-1.MS Windows MonoDevelop IDE 설치 및 실행 (VS2017 기준) file 오토소장 2019.07.24 289
22 MonoDevelop 1.MS Windows MonoDevelop IDE 설치 및 실행 (VS2017 기준) file 오토소장 2019.07.24 404
21 VisualStudio LNK4099 오토소장 2019.07.24 91
20 Oracle 대량 insert문 오토소장 2019.07.03 217
19 XE 일반사용자가 게시글등록 중 iframe Tag Filter 되어 짤리는 현상 secret 오토소장 2019.06.01 0
18 PHP 파일업로드용량변경 오토소장 2019.06.01 109
17 JavaScrpt WScript.Shell 경로에 공백 포함 오류 오토소장 2019.02.13 153
목록
Board Pagination Prev 1 2 Next
/ 2