[MySQL] 자바 스프링 (Spring) 한글 깨짐 현상 / Caused by: java.sql.SQLException: Incorrect string value: '\xEB\xA7\x88\xEB\xA7\x88' for column 'content' at row 1

2023. 6. 2. 15:06·Cloud & SERVER/DB
728x90
반응형

리눅스 MySQL 접근시 인코딩 에러 발생함
-> 한글 깨짐 현상

해결법:

DB설정

MySQL에서 명시적으로 캐릭터셋을 설정하지 않으면 기본 캐릭터셋이 적용됨 -> latin1
MySQL의 config 파일(my.cnf)에 인코딩 속성을 적용해줘야한다고 함.

  1. whereis mysql (MySQL의 config 파일 위치 찾기)
  2. cd /etc/mysql (my.cnf파일이 있는 폴더로 이동)
  3. sudo vi my.cnf (root 권한으로 아래 내용을 설정파일의 제일 밑에 입력 후, 저장)

[mysql]
default-character-set = utf8

[client]
default-character-set = utf8

[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci
init_connect=’SET NAMES utf8’


  1. sudo service mysql(mysqld) restart (MySQL 서비스 재시작)
  2. 설정이 끝났으면 캐릭터셋을 확인하기 위해 MySQL에 접속해 다음의 명령어를 입력.
status;

출력 결과

 

 

또는,

SHOW VARIABLES LIKE 'char%';
SHOW VARIABLES LIKE 'collation%';

utf-8로 되어있으면 캐릭터셋 설정 완료.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

이미 생성된 테이블은 생성 당시의 캐릭터셋으로 만들어져 있기 때문에 추가적으로 테이블의 캐릭터셋을 변경해야함.

1.생성된 테이블의 정보 확인. (테이블 정보 제일 밑에 DEFAULT CHARSET이 표시됨)

SHOW CREATE TABLE table_name;

 

2.utf-8로 테이블의 캐릭터셋 변경.

ALTER TABLE table_name CONVERT TO character SET utf8;

3.1번 명령어로 변경되었는지 확인.

 

출처:

https://hongsii.github.io/2017/10/15/mysql-%ED%95%9C%EA%B8%80-%EA%B9%A8%EC%A7%90-%EB%AC%B8%EC%A0%9C/

 

MySQL 한글 깨짐 문제

문제 JPA를 이용해 데이터베이스에 INSERT시 한글이 ???로 깨져서 저장이 되는 문제가 발생함. 에러가 발생한 환경은 Spring boot JPA + MySQL(ubuntu of EC2)

hongsii.github.io

 

728x90
반응형

'Cloud & SERVER > DB' 카테고리의 다른 글

[My SQL] 리눅스 환경에서 외부에서 DB 접근 허용하기 (공동작업DB)  (0) 2023.05.25
[My SQL]콘솔 명령어 (접속 및 로그인,비밀번호 변경, 데이터베이스 관리)  (0) 2023.05.25
[My SQL] MySQL 리눅스 환경에 설치하기  (0) 2023.05.25
'Cloud & SERVER/DB' 카테고리의 다른 글
  • [My SQL] 리눅스 환경에서 외부에서 DB 접근 허용하기 (공동작업DB)
  • [My SQL]콘솔 명령어 (접속 및 로그인,비밀번호 변경, 데이터베이스 관리)
  • [My SQL] MySQL 리눅스 환경에 설치하기
sillon
sillon
꾸준해지려고 합니다..
    반응형
  • sillon
    sillon coding
    sillon
  • 전체
    오늘
    어제
    • menu (614)
      • notice (2)
      • python (68)
        • 자료구조 & 알고리즘 (23)
        • 라이브러리 (19)
        • 기초 (8)
        • 자동화 (14)
        • 보안 (1)
      • coding test - python (301)
        • Programmers (166)
        • 백준 (76)
        • Code Tree (22)
        • 기본기 문제 (37)
      • coding test - C++ (5)
        • Programmers (4)
        • 백준 (1)
        • 기본기문제 (0)
      • 공부정리 (5)
        • 신호처리 시스템 (0)
        • Deep learnig & Machine lear.. (41)
        • Data Science (18)
        • Computer Vision (17)
        • NLP (40)
        • Dacon (2)
        • 모두를 위한 딥러닝 (강의 정리) (4)
        • 모두의 딥러닝 (교재 정리) (9)
        • 통계 (2)
      • HCI (23)
        • Haptics (7)
        • Graphics (11)
        • Arduino (4)
      • Project (21)
        • Web Project (1)
        • App Project (1)
        • Paper Project (1)
        • 캡스톤디자인2 (17)
        • etc (1)
      • OS (10)
        • Ubuntu (9)
        • Rasberry pi (1)
      • App & Web (9)
        • Android (7)
        • javascript (2)
      • C++ (5)
        • 기초 (5)
      • Cloud & SERVER (8)
        • Git (2)
        • Docker (1)
        • DB (4)
      • Paper (7)
        • NLP Paper review (6)
      • 데이터 분석 (0)
        • GIS (0)
      • daily (2)
        • 대학원 준비 (0)
      • 영어공부 (6)
        • job interview (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준
    programmers
    소수
    Python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
sillon
[MySQL] 자바 스프링 (Spring) 한글 깨짐 현상 / Caused by: java.sql.SQLException: Incorrect string value: '\xEB\xA7\x88\xEB\xA7\x88' for column 'content' at row 1
상단으로

티스토리툴바