본문 바로가기
Java

자바 default charset 에 관하여

by nomore7 2014. 5. 7.


alphanum 이외의 2,3바이트의 문자간 charset의 변형에 대해서 돌아보았을 때,


JAVA내에서의 charset의 변형과 데이터 유지관계에 대해 알 수 있었다.


또 다른 방면에서 데이터 자체의 손상이 없을 경우에도 JAVA 내에서 해당 데이터를 출력하지 못할 수 있다.


기본적으로 JAVA에는 실행시 설정된 default charset으로 charset이 설정되게 되는데,


이 charset의 해당 범위를 넘는 값은 당연히 출력하지 못하게된다.





기본 default charset은 

Charset.defaultCharset() 함수로 확인할 수 있다.



참고 : http://docs.oracle.com/javase/7/docs/api/



자바 실행시 charset을 설정하는 방법은


-Dfile.encoding 옵션을 이용하면 된다.




테스트한 일본어의 케이스


데이터 자체는 동일하나, 환경에 따라 표기되지 않음. 이런경우 죽어라 Charset을 바꿔도 안나오는..


浅子秀樹 -( 아사코 히데키 엿군...)


java -Dfile.encoding=utf-8 -jar CharsetTest.jar

浅子秀樹

모두 잘 출력됨


java -Dfile.encoding=euc-kr -jar CharsetTest.jar

?子秀樹

UTF-8 영역 의 한글자가 출력되지않음.


java -Dfile.encoding=latin1 -jar CharsetTest.jar

????

한자는 적어도 2바이트영역이므로 전부 출력되지 않음.