Database 상식, 테이블에 인덱스 걸기..

재미있어욧! 2007/10/28 13:31
top
     TAG 데이터베이스

트랙백 주소 :: http://signpen.net/blog/trackback/2510845

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

top

트랙백 주소 :: http://signpen.net/blog/trackback/2510786

JSP에서 JDBC클래스 로드

프로그래밍 2007/01/02 22:13
  간만에 JSP를 붙잡고 놀고 있습니다. 코드를 열심히 타이핑하고 실행을 하는데, DB에서 불러와서 화면에 띄워줘야 하는 내용이 보이질 않네요. 한참 살펴보니 톰캣을 띄워놓은 창에서
java.lang.ClassNotFoundException: org.git.mm.mysql.Driver
라는 메세지를 발견!!

  분명히 Mysql사이트에서 최신버전 JDBC를 다운받아서 설치했는데, 드라이버 클래스를 찾을 수 없다니. 책에 있는 내용을 잘못 타이핑 한건지 한참을 비교해가며 들여다 봤습니다.

사용자 삽입 이미지
  다운로드 받은 최신 JDBC에 포함되어 있는 PDF문서를 보니 예제 코드에 클래스를 로드하는 부분이 'org.git.mm.mysql.Driver'이라고 되어있지 않고, 모두 'com.mysql.jdbc.Driver'이라고 되어있네요. 궁금해서 웹을 찾아보니 JConnector 3.0버전 부터는 JDBC클래스를 로드할 때 'com.mysql.jdbc.Driver'로 사용한다고 하네요.

  JDBC클래스 이름을 적어주는 코드를
Class.for.Name("com.mysql.jdbc.Driver");
로 바꾸어주니 문제가 말끔하게 해결 되었습니다.

  노트북에서 사용할 땐 귀찮아서 책의 부록CD에 들어있던 JDBC를 썼던터라 전혀 문제없이 사용할 수 있었는데, 오늘 데스크탑으로 처음 작업을 하면서 이번엔 부록CD를 꺼내기 귀찮아서 웹에서 무작정 최신버전을 다운받았더니 문제가 발생하네요. 그래도 이런 문제가 있다는 것을 경험하게 되었으니, 다음번엔 비슷한 상황에 직면하면 오늘처럼 헤매진 않겠죠^^ㅋ

  정말 오랫만에 긴 시간동안 PC앞에서 집중해서 작업할 수 있었습니다. 개운해요!!S
top
     TAG jdbc, JSP, 데이터베이스

트랙백 주소 :: http://signpen.net/blog/trackback/2510699