Post

Java 인코딩 확인

1. 인코딩 확인

데이터를 수신했을 때 글자가 깨져 보이는 경우, 인코딩 방식 확인이 필요할 때 아래 로직으로 확인한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void checkEncoding(String textString) {
    byte[] bytes = textString.getBytes(StandardCharsets.UTF_8);
    textString = new String(bytes);

    String[] charSet = {"utf-8", "euc-kr", "ksc5601", "iso-8859-1", "x-windows-949"};

    String inputText = textString;
    IntStream.range(0, charSet.length).boxed().forEach(i -> IntStream.range(0, charSet.length).boxed().forEach(j -> {
        try {
            System.out.println("[" + charSet[i] + ", " + charSet[j] + "]" + new String(inputText.getBytes(charSet[i]), charSet[j]));
        } catch (UnsupportedEncodingException e) {
            throw new RuntimeException(e);
        }
    }));
}

[출처 및 참고]

This post is licensed under CC BY 4.0 by the author.