세상에 나쁜 코드는 없다
[Goorm.io] Goorm ide 에서 mysql 한글 깨짐 현상 해결하기 본문
참고 링크
:
우분투 환경에서 mysql server characterset 을 utf8로 바꾸는 방법
VI 조작법
https://blockdmask.tistory.com/25
goorm에서 mysql을 사용할때 저장된 값이 ?? 로 저장될 때가 있다.
이 문제는 mysql의 Server characterset, DB characterset 이 utf8로 설정되어있지 않기 때문에 발생한다. mysql 에 status 를 입력하여 현재 상태를 확인할 수 있다.
이 문제를 해결하기 위해서는 /etc/mysql/my.cnf 파일에 특정 내용을 추가해주어야 한다. goorm은 우분투 기반의 서버이므로 우분투에서 사용되는 VI 라는 문서편집기능을 이용해 추가할 것이다.
내용 추가 절차는 아래와 같다.
1. 커맨드 창에 vi /etc/mysql/my.cnf 를 입력한다.
2. 입력에 성공하면 my.cnf 파일의 내용이 커맨드창에 출력 되는데, 마우스나 키보드를 통해서 [client]의 아래로 커서를 옮긴다.
3. i 를 누르면 끼워넣기 상태가 되는데, 이 상태에서는 문서에 문자를 추가할 수 있다. "default-character-set = utf8" 을 입력해준다.
4. 커서를 움직여 아래의 코드들도 추가해준다. (복붙도 된다)
[mysqld] 아래에 추가
init_connect = SET collation_connection = utf8_general_ci
init_connect = SET NAMES utf8
character-set-server = utf8
collation-server = utf8_general_ci
[mysqldump] 아래에 추가
default-character-set = utf8
[mysql] 아래에 추가
default-character-set = utf8
5. 모두 추가했으면 esc를 눌러 명령모드로 돌아간 후 (수정모드에서는 :wq가 문서에 입력된다)
: wq 를 입력하고 엔터를 눌러 수정된 내용을 저장한 후 종료한다.
6. mysql 서버를 재시작한다.
이후 mysql 에 status를 입력하면 characterset 부분이 모두 utf8로 바뀌어있는 것을 확인할 수 있다.
과거에 저장되어있는 데이터는 그대로 ??로 남아있지만 새로 입력하는 한글 데이터는 제대로 저장되는것을 확인할 수 있을 것이다.
'웹개발 > 백엔드' 카테고리의 다른 글
프론트엔드 개발 이해를 돕기 위한 백엔드 지식 (0) | 2022.12.30 |
---|---|
Application Error Handling Design: REST API 에러 핸들링 설계 (0) | 2022.12.30 |
Snyk 알아보기 (0) | 2022.06.10 |
[웹개발 토이 프로젝트] Tipple 중간 회고록 (0) | 2022.05.16 |
오류 org.springframework.jdbc.CannotGetJdbcConnectionException 해결방법 ( 초보 웹개발자를 위한 스프링5 프로그래밍 입문) (3) | 2022.03.11 |