본문 바로가기

Programming/etc

mysql 글자깨짐 해결하기 feat.character-set utf-8

요즘들어 mysql로 작업하는 횟수가 많아졌다. 단순 갱신작업이여서 여태 아무 문제 없다가, 기존 데이터 갱신을 하면서 일어났다.

작아서 안보일 수도 있는데... 확대하면 아래와 같은 너낌

 

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

?????라니요... 진짜 당황스럽고.. 작업해야하는데 어찌해결해야하나 하고 하다가 문득, 혹시 이거 utf-8?!?!?!?라는 생각이 스쳐지나갔다.

 

로컬상의 mysql은 utf8mb4로 설정해놓았기 때문에 왜 문자가 깨지는 것인지 의문이 들었다.

커맨드를 실행하는 서버에 따로 지정해야하나 하고 골치아파하고 있었다.

 

그래서 검색해보았지만.. 아무것도 나를 충족해주질 않아...ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

homebrew로 설치해서 나와 동일한 조건인 분이 안계시나하고 찾다가 어떤 멋진 분 덕에 해결할 수 있었다.

이 자리를 빌어 다시 감사합니다...🙌🙌

 

참고한 블로그 webcontents.tistory.com/34

 

mysql install (homebrew)

MySQL Install homebrew로 MySQL 설치 1. 터미널 창에서 다음과 같이 입력한다. brew install mysql 2. 설치 경로를 확인한다. homebrew를 사용하여 설치하면 /usr/local/Cellar 폴더 아래로 설치된다. MySQL 서..

webcontents.tistory.com

 

 

여기서 알게 된 사실! 

/etc/my.cnf파일을 확인하라는데 나는 존재 하지 않았다.

아니 무엇보다 /etc/파일 어떻게 들어가는지 몰라서 스포트라이트로 /etc/를 검색해서 들어갔다. 

새로 만들면 된다길래 빔으로 만들려고 했더니 아래와 같은 문구가 떴다.

 E212: Can't open file for writing

 

역시 한번에 에러가 해결될 일은 없는걸까 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

이 에러는 권한이 없기 때문에 일어나는 에러라고 했다.

그래서 sudo로 다시 실행했다.

sudo vi my.cnf

그 후 블로그에 나와 있는 대로 입력했다.

[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci

init_connect=SET collation_connection=utf8_general_ci

init_connect=SET NAMES utf8

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

혹시나 해서 서버에 들어가서 mysql를 확인해보았다.

귯~~~ 클라이언트 캐릭터셋에서 utf8을 설정한 것을 볼 수 있다.

 

 

실제 테이블을 확인해보면 더 이상 ??? 가 뜨지 않는 것을 확인할 수 있다. 하하하

쾌적 그 자체~~~

이제 로그 남길때도 편하게 남길 수 있다.