삶 가운데 남긴 기록 AACII.TISTORY.COM
JAVA 한글 인코딩 본문
세상에는 여러 시스템이 있고 한글 인코딩 방식은 많습니다.
개발자에게 한글 인코딩 문제는 생각보다 자주 마주치는 문제입니다.
자바 애플리케이션이 실행되는 런타임 환경에서 인코딩을 지정할 수 있는 옵션이 있었으니...
바로 -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
'DEV&OPS > Java' 카테고리의 다른 글
STS Windows 10 압축 풀기 실패 시 해결 방법 (3) | 2024.01.14 |
---|---|
인텔리제이에서 application arguments 지정, runnableJAR export 방법 (2) | 2024.01.08 |
JAVA 특정 폴더와 하위 폴더 및 하위 파일들을 모두 삭제 (0) | 2024.01.03 |
JAVA FileWriter를 사용하여 파일을 overwrite 와 append 저장 (0) | 2024.01.03 |
JAVA 현재 날짜와 시간을 지정한 날짜 형식으로 출력 (0) | 2024.01.03 |