Mysql 4.0.X 한글저장 문제

프로그래밍 2007.06.23 17:28

  요즘 JSP로 만들어진 뭔가를 만들기 위해서 다시 작업중입니다. 매번 PC에 아파치, 톰캣, Mysql설치 및 설정을 해주기 귀찮아서 아예 JSP호스팅을 하나 신청해서 작업을 하고 있습니다.

  예전에도 골치를 썩었었는데 역시나 이번에도 Mysql의 euc_kr인코딩이 발목을 잡네요. 서버 환경이 Mysql4.1이상이라면 맘 편하게 UTF-8로 사용을 하면 편할텐데 어쩔 수 없이 EUC-KR로 작업을 하고 있습니다.

발생문제

DB url을 설정하는 부분에

jdbc:mysql://localhost:3306/(DB이름)?characterEncoding=euc_kr

이라고 적고 사용하였으나 DB에는 한글이 깨져서 저장됨

  ?chracterEncoding=euc_kr을 추가한 것 외에도 인터넷으로 추가로 찾아낸 별별 방법을 모조리 해 봤습니다. 그러나 DB테이블의 저장된 내용을 살펴보면 한글이 죄다 깨져서 저장되고, 웹에서 DB의 정보들을 출력해도 역시나 깨져서 저장된 내용이 나타납니다.

  뒤늦게서야 해결책을 찾았는데 페이지 상단에

euc_kr

의 내용을 추가해 주는 것입니다.

  폼을 통해서 전달되는 값이 euc-kr로 전달되지 않나봅니다. 입력을 받는 폼과 전달받은 값을 DB에 저장하는 페이지 사이에 전달되는 값이 깨져서 넘어오니 DB에 저장하는 부분을 아무리 고쳐도 깨져서 저장될 수 없는 상황이었습니다.

  위의 내용을 추가해준 이후로 한글저장에 문제가 해결되었습니다.

  인터넷에서 많이 있는 내용이
jdbc:mysql://localhost:3306/(DB이름)?useUnicode=true&charcterEncoding=euc_kr
이렇게 사용하라는 내용이 많은데 useUnicode=true값은 생략해도 된다고 합니다. 기본 설정값이 보통 true이기 때문에 구지 써 넣지 않아도 상관없다고 합니다.

  euc-kr과 싸우는건 이제 그만하고 싶습니다.S

'프로그래밍' 카테고리의 다른 글

개미수열 만들기  (2) 2007.07.29
자바 논리연산의 단축평가(short-circuit)  (8) 2007.07.21
Mysql 4.0.X 한글저장 문제  (0) 2007.06.23
"유레카!!" 느껴봅시다!!  (6) 2007.06.11
임백준의 소프트웨어 산책  (4) 2007.06.01
맥OSX 터미널  (0) 2007.05.03
top

댓글 쓰기