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바이트영역이므로 전부 출력되지 않음.
'Java' 카테고리의 다른 글
html/xml body response inputstream parsing / example (0) | 2015.01.11 |
---|---|
Preparestatement CANNOT order by (0) | 2014.05.26 |
JAVA Encoding 과 Decoding에 대한 정리 (0) | 2013.11.14 |
Illegal group reference 문제 해결 , 원인 replaceAll 매개변수 (0) | 2013.11.12 |
HttpURLConnection setTimeout 적용 안될때, 안된다고 착각 할 때 (2) | 2013.11.07 |