Translate

2014년 8월 28일 목요일

안드로이드,ios 이모티콘(emoji)과 MySQL charset 문제


앱 서버를 관리하면서 큰문제가 닥쳐왔다.
문제는 일반 문자형태로 저장하는 컬럼에 사용자들이 입력을 하면서 안드로이드 킷캣부터 지원하는 이모티콘을 넣기 시작한것이였다.
이모티콘을 넣다보니 서버에서는 에러가 나고 어플은 작동을 하지않자 그냥 꺼버리는 시나리오가 나타나기 시작하는 것이였다. 그 결과 데이터가 꼬이는 현상이 일어났다....ㅜㅜ
그래서 엄청난 검색결과 뭐 utf8em4 ? 란 문자셋으로 바꾸라는데 .. 운영중인 서버의 문자셋을 바꾼다는건 위험한 일이라고 판단했다. 그래서 방법이 없을까.. 싶던참에 어떤분이 이미 해결하신 내용이 있었다.

http://100dream.tistory.com/6
이분 글인데 난 일단은 빠르게

 MySQL 5.1 유지하면서 해당 컬럼을 VARBINARY로 변환하고, SELECT 시 CAST(%컬럼명% AS CHAR(사이즈) CHARSET UTF8) 형태로 조회