콘텐츠로 건너뛰기

mysql 4.1.X 한글 처리

JSP와 하루 종일 놀았습니다. 조금씩 조금씩 알아간다는 것이 재미있긴 한데, 가끔 오늘처럼 쓸데없는 작업으로 시간을 소비하고 나면 허무해 집니다.

오늘의 가장 큰 삽질!! mysql 4.1.X버전의 한글 처리문제.

회원가입 및 수정을 하는 폼과 DB를 만들어서 작동 상태를 점검 했습니다. 세션을 만들어서 사용하는 방법도 기술되어 있었고 대략 원리도 이해 했고 좋았습니다. 그러나 회원정보를 수정하는 부분에서 문제가 발생 했습니다.

회원정보 중에서 이름과 주소부분의 한글 출력이 제대로 되질 않는겁니다. 직접 SQL문을 타이핑 해서 테이블을 들여다 보았습니다. DB자체에서는 한글 문자가 제대로 저장되어 있었습니다. 웹으로 열리는 폼에서만 한글이 자꾸 깨져서 출력되네요.

MySQL
MySQL

웹을 검색해 보니 mysql이 4.0에서 4.1로 업그레이드 되면서 문자인코딩 방식에 대대적인 변화가 있었는지 구지 ‘4.1’이라는 버전정보를 붙여서 검색하지 않아도 ‘mysql 4.1의 한글처리 문제’가 검색결과의 대부분이었습니다. 웹에서 주워모은 정보대로 DB의 테이블도 손보고 문자셋도 다시 설정 해 봐도 여전히 한글은 제대로 처리되지 않았고, 소스안의 DB 한글처리 부분을 손봐줘도 문제가 쉽사리 해결되지 않았습니다. 많은 시간을 소비한 후에서야 결국 공부하고 있는 책의 부록CD에 들어있던 mysql 3.23버전으로 모든 셋팅을 되돌려서 책에 있는 동일한 결과값을 손에 넣을 수 있었습니다.

무엇이든 최신버전을 써야 직성이 풀리는 성격탓에 하드웨어 드라이버든 일반적인 소프트웨어든 무조건 최신버전을 고집하곤 했었는데, 프로그래밍에 관련된 모든 것들은 웬지 최신버전이라는 것이 썩 내키진 않습니다. mysql뿐만 아니라 J2SDK, 기타 여러 툴들이 마찬가지로 종종 최신버전과 하위버전의 변화폭은 너무 크고 서로 호환성은 떨어지고, 공부할 수 있는 대부분의 자료들은 하위버전 기준으로 작성되어 있을때가 많아서 말이죠. 그럴때 마다 혼자 답답해서 죽습니다. 결국 마음속으로 ‘프로그래밍에 있어서 만큼은 최신 버전이라는 것이 결코 좋은것은 아니다’라는 결론을 간직하고 살아가고 있습니다.

나름 많은 것을 고려해서 MYSQL사이트에 공개되어있는 mysql들 중 가장 낮은 버전인 4.1을 선택한 것이었는데 호환성에 관련된 문제를 겪을줄은 꿈에도 몰랐었습니다. 웹을 훑어보니 한글 문자셋 관련 내용중 ‘euc-kr’로 표기되던것이 ‘euckr’이라는 형태로 최초로 바뀐 버전도 4.1버전이었고 말이죠.

한글 인코딩문제는 언젠가 한번쯤은 꼭 겪게 될 문제였지만 오늘같이 의미없이 시간을 낭비하는 모습으로 만나긴 정말 싫었는데 안습입니다. 한글 문자처리 관련된 부분을 어떻게 처리해야 하는지에 대해서 심도있게 알안낸 것도 없고 단순히 문제해결을 위해서만 웹을 뒤적거리다가 mysql버전 다운으로 해결을 해버렸습니다.

공부시간은 줄어들고, 삽질 시간만 잔뜩 있었던 하루…


7 개의 댓글

  1. 저 역시도 공부하거나 일하다 보면, 가끔씩 “의미없이 시간을 낭비하는” 경우를 종종 만나게 됩니다. 자의에 의해서건 타의에 의해서건, 그런 시간을 원천적으로 피해갈 수는 없는 듯 합니다. 그래서 최소화 시키기 위해서 노력하지만요. 아무튼, 서서히 내공이 쌓여가는 싸인펜님의 모습이 보기 좋습니다.~ 파이륑!~ 저도 분발해야 겠습니다~

    1. Mysql이 4.0에서 4.1버전으로 변화하면서 많은 차이가 있다고 이야기만 들었었는데 이번 일을 통해서 어떤 내용이었는지 어렴풋하게 정보는 얻을 수 있었습니다. DB의 문자셋과 씨름하는 것 보다 JSP코드와 씨름하길 원했었는데, 방향이 좀 새버렸습니다.

      Juntai81님 응원 감사합니다. 좀 더 열심히 해야겠어요^^ㅋ

  2. 핑백: 문C닷넷

  3. 이런 모든것들이 외국중심의 프로그래밍에서 그외의 나라들은 정보를 늦게 받을수 밖에 없는 상황에서 발생하는것 같습니다. 우리나라 인재들이 이끌어갈수 있는 프로그램개발툴을 개발할수는 없는것일까요? 자바와 닷넷 과도 견줄수 있는 개발언어가 우리자국의 손으로 개발될날을 기대해 봅니다.

    1. DB의 경우엔 국산 DBMS가 있다는 소식을 들은적이 있는데 크게 인기는 없나봅니다. 한국어로 된 기술자료가 재빠르게 공급될 수 있는 국산 개발언어 하나 있었으면 좋겠어요..ㅜㅜ

    2. 그렇게 보면 영어만 잘해도 상관은 없겠네요..
      영어공부를 열심히 해야겠어요…ㅋㅋ

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다