발생일: 2011.06.02 문제: 얼마 전 캐릭터셋이 다른 서비스로 폼 서브밋을 보낼 때 한글이 깨지는 문제가 발생한 적이 있었다. 현재 서비스의 캐릭터셋은 utf-8 이었고, 서브밋을 보낼 대상 서비스의 캐릭터셋은 euc-kr 이었다. 서브밋을 보내기 전에 문서의 캐릭터셋을 바꿔주는 방식으로 해결했었는데, 몇 가지 주의할 점이 있어 메모해둔다. 해결책: 결론 먼저: 1. 폼 엘리먼트에 accept-charset 속성을 추가하고 대상 서비스의 캐릭터셋 값을 준다. 예) accept-charset="euc-kr" 2. 스크립트에서 폼 서브밋을 보내기 전, document.charset = "euc-kr"; 구문을 추가한다. 3. 폼 서브밋 후에 document.charset의 값을 원래 값으로 되돌린다...
발생일: 2009.11.16 문제: 얼마 전 디비 서버 변경 작업이 있었는데 서버 변경 이후로 인터페이스 되는 데이터들 중 한글이 깨지는 것들이 발견됐다. 각 데이터들은 여러 방법으로 인터페이스 된다. - 파일로 전송 받아 디비에 업데이트 - 특정 모듈을 통해 대상 서버에 접속해 그 내용을 파일로 떨군 후에 업데이트 - 대상 디비로 직접 접근해서 가져온 후 업데이트 unix 서버에서 crontab 에 등록된 쉘 프로그램이 인터페이스 역할을 하는 java 클래스를 실행시켜 가져온 데이터를 디비로 업로드한다. 헌데,.. 하나를 수정하면 하나가 깨지고, 다른 하나를 수정하면 또 기존 것이 깨지고 이런다.... 뭐가 문제인 걸까... 해결책: 전체적으로 인코딩/디코딩에 대한 이해가 필요했다. 여러 자료들을 찾아..
발생일: 2009.03.25 문제: 게시판에서 상세 보기 후 목록으로 돌아가기 위해 목록 검색에 대한 parameter를 uri 형태로 묶어 parameter로 전달하고 있었다. ex) 브라우저에서 서버로 요청을 보낼 때 자동으로 인코딩이 되기 때문에, 이 값을 서버를 통해 응답으로 보낼 경우, 한글로 적은 '가나다' 값이 인코딩 된 값으로 표기된다. 하여 응답받은 값을 브라우저에 표시하면 '가나다' 대신 인코딩 된 값이 나온다. 해결책: java의 URLEncoder / URLDecoder 객체를 사용한다. 서버에서 searchParam에 대한 값을 받았을 때에 URLDecorder로 decoding 하여 응답한다.