Recent Posts
Recent Comments
Link
06-30 12:53
Today
Total
관리 메뉴

삶 가운데 남긴 기록 AACII.TISTORY.COM

JAVA 한글 인코딩 본문

DEV&OPS/Java

JAVA 한글 인코딩

ALEPH.GEM 2024. 1. 6. 06:51

세상에는 여러 시스템이 있고 한글 인코딩 방식은 많습니다.

개발자에게 한글 인코딩 문제는 생각보다 자주 마주치는 문제입니다.

 

자바 애플리케이션이 실행되는 런타임 환경에서 인코딩을 지정할 수 있는 옵션이 있었으니...

 

바로 -Dfile.encoding=utf-8 되시겠습니다.

 

애플리케이션 실행 시 아래와 같이 옵션을 추가해주시면 자바 런타임 인코딩 방식이 지정됩니다.

java -Dfile.encoding -jar example.jar args0, args1, ...

 

WAS인 tomcat도 실행시 자바 런타임에서 실행되기 때문에 tomcat의 start 스크립트에도 인코딩 옵션을 추가할 수 있습니다.

운영체제 기본 인코딩과 무관하게 JVM을 통해 실행시 옵션으로 인코딩을 지정하기 때문에 편리합니다.

 

다음은 String을 강제로 UTF-8로 인코딩해서 출력하는 예제입니다.

import java.io.UnsupportedEncodingException;

public class UTF8EncodingExample {
    public static void main(String[] args) {
        // 변환할 문자열
        String originalString = "안녕하세요! Hello!";

        try {
            // UTF-8로 인코딩
            byte[] utf8Bytes = originalString.getBytes("UTF-8");

            // 인코딩된 바이트 배열을 문자열로 출력
            System.out.println("UTF-8로 인코딩된 문자열: " + new String(utf8Bytes, "UTF-8"));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    }
}

 

하지만 이 방법은 별로 추천하지 않습니다. 인코딩이 바뀔 때마다 소스를 고쳐야 하니까요.

 

맨 위에 있는 -Dfile.encoding으로 실행 시 옵션으로 지정하는 게 좋습니다. 

 

고객마다 인코딩이 다를지도 모르는데... 그 때마다 소스를 수정하시렵니까???

 

 

728x90