Monday, August 17, 2009

Ajax + MySQL 5.0 버젼에서 한글처리하기 by Python

Ajax + MySQL 5.0 버젼에서 한글처리하기 by Python

MySQL 5.0 버젼이 유니코드처리 문제로 이런저런 고민거리를 생산하고 있다고 들었습니다. 제로보드가 5.0 db와 트러블로 인해서 골치아프다고 들었었고요. Ajax를 하는 분이라면 한글처리에 조금 신경을 써줘야 한다는 것을 아실 것이고 저도 일단 어느정도 처리가 잘 될뻔 하다가 삽질하였네요. 3일치 분량이었습니다.

환경 : Apache 2.0 + MySQL 5.0 + Python 2.5 + mod_python + MySQLdb

자바 스트립트 전송시의 중요한 부분
var name = "name=" + encodeURIComponent($('name').value);

쿼리 처리시 중요한 부분
query = "INSERT INTO `test` (`num`, `name`) VALUES (NULL, '%s')" % name
query = query.decode('utf-8')
query = query.encode('euckr')

결국 삽질은 디코딩한걸 다시 euckr로 인코딩을 다시 해주면 되는 것을 몰라서 해맨것 이라는 것... MySQL 5.0은 어디에 지뢰가 있을지 모른다! 조심하자!

No comments: