728x90

MySQL을 그냥 쓸 수 있다면 참 좋을텐데...

아쉽게도 대부분은 그냥 쓸 수 없다.

왜냐하면 우리나라는 영어권이 아니기 때문이다.

먼저 mysql에 접속을 해서 status 명령어를 쳐보자.



status <- 현재 정보를 보여주는 명령어


검색을 해보면 server,db,client,conn.가 나온다.

이 중에서 client와 conn.은 함께 변경이 되는데 클라이언트 쪽에서 사용하는 캐릭터 셋이다.

보면 알겠지만 Server와 DB는 latin1을 사용중이다.

사실 처음 키면 DB는 선택이 안되있다. 그럼 저건 뭘 의미하느냐면 새로 DB를 만들면 특별한 명령이 없는한 인코딩이 latin1이 된다는 의미이다.


각각이 뭘 의미하는지 처음 문자셋이라는 개념을 접한 사람은 모를 수 있다.

각각 문자셋이 무엇을 의미하는지 알고싶다면 필자 블로그의 [Encoding]Character Set에 대해서 알아보자.(euc-kr, utf8 등)를 참조하라.


show character set; <- 사용 가능한 모든 문자 셋을 보여주는 명령어



이 문자셋에서 우리는 모든 문자셋을 utf8로바꿀 것이다.

그 이유는 현재 웹 표준이 utf8이기 때문이다.


이를 바꾸기 위해서는 my.cnf 혹은 my.ini에 들어가서 설정을 변경해야한다.

그러나 이 경로의 위치를 모르는 사람이 많더라.

윈도우의 경우 이 경로를 찾는 방법을 알려주겠다.



서비스에서 MySQL을 찾아서 속성을 누른다.


여기서 중요한 경로는 실행파일 경로인데 여기서 bin 바로 앞부분 까지를 복사해서 폴더에서 열어준다.



해당 경로가 보인다. 여기서 my.ini를 수정한다.



처음 열면 위와 같이 적혀있다.

우리는 서버와 DB 그리고 client의 모든 문자셋을 utf8로 변경할 것이다.

이 방법은 아래와 같다.



[client]

default-character-set=utf8


[mysqld]

character-set-server=utf8

basedir=C:\\tools\\mysql\\current

datadir=C:\\ProgramData\\MySQL\\data


저 두설정을 해주면 기본 DB설정과 기본 서버 설정, 클라이언트 설정이 모두 적용된다.

그 후 서비스를 다시 재시작해준다.


다시 mysql에 들어가서 확인해 보자.



변경된 걸 확인할 수 있다.





+ Recent posts