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