DB 인코딩이 US7ASCII 인 경우에 한글 처리 방법

Dope
Webdev TechBlog
Published in
Sep 1, 2021

서론

DB 인코딩이 US7ASCII 인 경우에 “뷁, 퉭” 과 같은 특이한 한글들은 물음표(?)로 저장이 되는데, 올바르게 한글로 DB 에 저장되게끔 인코딩 하는 방법에 대해서 배워보겠습니다.

DB 인코딩이 US7ASCII 인 경우에 한글 처리 방법

DB charset 이 US7ASCII 인 경우 자바에서는 한글을 DB 에 올바르게 저장하기 위해서 다음과 같이 처리합니다.

8859_1 에서 대응되는 문자가 없는 경우 java char로 0xfffd (물음표, ?)로 변환됩니다.

이걸 응용해서 다음과 같은 문제를 해결할 수 있습니다.

예를들어 사용자가 회원가입 시 닉네임을 입력하는데 “고구마퉥퉥” 이라고 입력한 경우 특별한 처리를 해주지 않으면 DB 에는 “고구마??” 로 들어갈 것입니다. 따라서 다음과 같이 처리를 해주어서 특이한 한글을 입력하는 경우를 방지할 수 있습니다.

위 처럼 사용하면 한글 뿐만 아니라 US7ASCII 에서 대응되지 않는 문자들을 거를 수 있습니다.

만약, US7ASCII 에서 지원하지 않는 문자도 받고 싶은 경우에는 DB 에 저장할 때 암호화하고 DB 에서 읽을 때 복호화하여 사용하면 됩니다.

--

--

Dope
Webdev TechBlog

Developer who is trying to become a clean coder.