본문 바로가기

ㅋ/java

java encoding UTF-8 문제


소스파일을 UTF-8로 작성하였을 경우,
(BOM 이 있는 UTF-8 파일은 인식하지 못함)

컴파일은
javac -encoding UTF-8 Foo.java
실행은
java Foo

BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream("out.txt"), "UTF8"
));
out.write("출력");
out.newLine();
out.flush();

이렇게 하면 된다는데,,,

파일 인코딩은 UTF-8로 잘되는데, 정작 안에 내용이 깨진다.

이클립스에서 하면 이런거 지정 안해도 잘 되는데
cmd창에서 하면 개그지발싸개같은...

하앜

--------------------------------------------------------------
JVM에서 뭔가 문제가 있지 않을까 싶어서
옵션을 뒤져봤더니

System properties에
file.encoding=MS949
로 되어있다.

따라서 cmd창에서도 되게 하려면
java -Dfile.encoding="UTF8" foo
이렇게 하면 된다!!!

근데 이클립스는 어떻게 되는거지?
아마도 기본 인코딩을 UTF8로 해놔서 전부다 그렇게 되는가보다.


' > java' 카테고리의 다른 글

[jdbc] php의 mysql_num_rows() 를 자바에서 쓰기  (0) 2012.01.01
[java] 형변환  (0) 2011.08.09
java에서 cmd 실행하기  (0) 2010.09.20
JAVA에서 2차원 배열 동적 할당하기  (0) 2010.08.19
JAVA JVM 메모리 확인하기  (0) 2010.08.17