어딜가나 인코딩이 문제를 많이 일으킨다.
DB, 문자열, 서버, HTTP 타입 등등..
인코딩이 맞지 않아서 문자열이 깨지는 경우가 많이 발생한다.
UTF-8 을 표준으로 책정한 만큼, Default 인코딩이 UTF-8 로 되어있으면 좋겠다.
아쉽게도 MySQL 은 Default 인코딩이 UTF-8이 아니다. ("latin-1" 이다.)
그래서 MySQL 설치 후에 인코딩을 변경하지 않고 한글을 입력하려고 하면 이상한 문자로 들어가는 것을 볼 수 있을 것이다.
APM으로 MySQL 을 설치했을 때는 , mysql/my.cnf 파일에서 설정값을 넣어주면 된다. (아래 포스팅 확인)
하지만 RDS로 MySQL을 구축했을 때는 my.cnf 파일에 접근할 수 없다.
RDS 에서는 DB의 파라미터들을 셋팅할 수 있는 메뉴를 제공한다.
RDS에 들어가서 왼쪽 메뉴를 보면 Parameter Groups 가 있다. 클릭
Parameter Groups에 들어가면 현재의 Parameter Group의 목록이 나오고 특별한 설정이 없다면 default 가 있을 것이다.
Create DB Parameter Group 버튼 클릭
DB Parameter Group Family : MySQL 버전을 선택한다. 자신의 DB Instance 의 버전과 일치해야 한다.
DB Parameter Group Name : 파라미터 그룹의 이름을 지정
DB Parameter Group Description : 부가 설명을 적으면 된다.
Yes, Create 클릭
Parameter Group이 하나 생성되었다.
이제 파라미터들을 수정해보자
Edit Parameters 버튼 클릭
MySQL에서 설정할 수 있는 파라미터들이 나온다.
여기서 원하는 항목의 값을 설정하면 된다.
우리는 문자열 인코딩을 UTF8 로 바꿔야한다.
조금 아래로 내려보자
character_set 에 관련한 옵션들이 처음에는 모두 <engine-default> 로 되어있다.
화면과 같이 모두 utf8 로 바꾸고 위에 Save Changes 버튼을 클릭한다.
인스턴스의 내용을 확인하자.
Parameter Group 을 보면 default로 되어 있을 것이다.
이것을 앞에서 생성한 Parameter Group으로 변경해보겠다.
아래 Instance Actions 버튼을 클릭하고 "Modify" 를 클릭하자.
인스턴스 수정 화면이다.
Parameter Group에서 앞에서 만든 파라미터를 선택하고 Continue를 클릭한다.
자동으로 인스턴스에 변경사항이 반영되지만, 깔끔하게 재부팅 해준다.
인코딩 파라미터 그룹 설정 끝
출처:http://hyeonstorage.tistory.com/trackback/276
출처:http://hyeonstorage.tistory.com/trackback/276
댓글 없음:
댓글 쓰기