본문 바로가기
IT/JAVA

한글 변환 처리

by 최고영회 2013. 12. 21.
728x90
반응형
SMALL
public static String autoCharacterSet(byte[] byString) {
// 입력받은 문자열이 EUC-KR, UTF-8 인지 모르기 때문에 먼저 EUC-KR로 변환해본다.
CharsetDecoder decoder = Charset.forName("EUC-KR").newDecoder();
    try {
     CharBuffer r = decoder.decode(ByteBuffer.wrap(byString));
     return r.toString();
    }
    // EUC-KR 변환이 실패하면 UTF-8로 시도한다.
    catch (CharacterCodingException e1) {
     decoder = Charset.forName("UTF-8").newDecoder();
    try {
     CharBuffer r = decoder.decode(ByteBuffer.wrap(byString));
     return r.toString();
    }
    // UTF-8 변환이 실패하면  
    catch (CharacterCodingException e2) {
     e2.printStackTrace();
    }
    }
return new String(byString);
}

사용법 (Controller)
String userName = request.getParameter("userName");
userName = autoCharacterSet(userName.getBytes());

BASE64로 인코딩 되어 있는 문자열이 넘어올 경우
String strBase64UserName = request.getParameter("userName");
sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();
String userName = autoCharacterSet(decoder.decodeBuffer(strBase64UserName));


728x90
반응형
LIST

'IT > JAVA' 카테고리의 다른 글

Java 엔디안 변경  (0) 2014.05.20
AES-256 암호화 시 주의 사항  (0) 2014.04.30
Java 명명 규칙 (Naming Rule)  (0) 2013.12.21
Fetch Call 최소화  (0) 2013.12.21
Java 성능 향상 팁  (0) 2013.12.21