티스토리 뷰
스크립트 언어(PERL, Ruby등)에서 MySQL을 사용할 때 클라이언트 컨넥션이 사용할 문자셋이 제대로 지정되어있지 않은 경우 문자가 깨지는 경우가 있다.
보통은 컨넥션을 만든 뒤 SET CHARACTER SET utf8명령과 같이 현재 컨넥션이 사용할 문자셋을 지정해주게 된다.
Ruby rails로 utf8문자셋으로 된 MySQL DB를 사용할 일이 있었는데 DB접근이 상당히 추상화된 rails에서 컨넥션에 대해 문자셋을 지정해줄 수 있는 부분을 찾기가 쉽지 않았다. ActiveRecord에 문자셋 지정코드를 삽입해보기도 했으나 프레임워크의 소스를 고치는게 별로 바람직하지 않고 DB의 문자셋에 따라 소스를 계속 고쳐야하기 때문에 다른 방법을 찾아보았다.
결국 찾은 방법은 다음과 같다.
$RAILS_HOME/config/environment.rb를 열어 ActiveRecord가 DB에 연결하는 부분이 있는데 그 밑에 문자셋 지정을 해준다.
보통은 컨넥션을 만든 뒤 SET CHARACTER SET utf8명령과 같이 현재 컨넥션이 사용할 문자셋을 지정해주게 된다.
Ruby rails로 utf8문자셋으로 된 MySQL DB를 사용할 일이 있었는데 DB접근이 상당히 추상화된 rails에서 컨넥션에 대해 문자셋을 지정해줄 수 있는 부분을 찾기가 쉽지 않았다. ActiveRecord에 문자셋 지정코드를 삽입해보기도 했으나 프레임워크의 소스를 고치는게 별로 바람직하지 않고 DB의 문자셋에 따라 소스를 계속 고쳐야하기 때문에 다른 방법을 찾아보았다.
결국 찾은 방법은 다음과 같다.
$RAILS_HOME/config/environment.rb를 열어 ActiveRecord가 DB에 연결하는 부분이 있는데 그 밑에 문자셋 지정을 해준다.
ActiveRecord::Base.establish_connection
ActiveRecord::Base.connection.execute("SET CHARACTER SET utf8") # 이 부분 추가.
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Palm
- 블로그
- ETech08
- 책
- 맛집
- macosx
- 마인드맵
- etech
- 일본
- 온천
- 루비
- 웹2.0
- 티스토리
- 컨퍼런스
- 샌프란시스코
- 여행
- 남섬
- 영화
- 사진
- 큐슈
- 애플
- iPhone
- 게임
- 쿠로카와
- 구글
- 뉴질랜드
- 애니콜
- 맥북
- ETechConf08
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함