윈도우에서 잘 돌아갔던 자바 프로그램을
우분투 리눅스에서 돌려봤다.
java가 플랫홈인디팬던트언어니 문제 없이 잘 돌아갈거라 생각했었다
그런데 으응?
프로그램상에서 출력하는 부분은 한글이 잘 나오는데,
소켓으로 주고받는곳에서 이상하게 깨져나왔다 @.@
한참을 삽질했다 ..
하다하다 안되서 어떤분에게 물어봤더니
getBytes() 에 캐릭터셋을 지정 안해주면 시스템 기본으로 읽는다더라..
라는 말에
다음과 같은 소스를 작성해 리눅스와 윈도우에서 돌려보았다
[CODE type="java"]
class test
{
public static void main(String args[]){
System.out.println("file.encoding=" + System.getProperty("file.encoding"));
}
}
[/HTML][/CODE]
다음과같이 고쳐줬다
소켓에서 읽어오는 부분...
[CODE type="java"]
return new String(inbuf.toByteArray(),"MS949");
[/HTML][/CODE]
소켓으로 보내는 부분...
[CODE type="java"]
out.write(ws.getBytes("MS949"));
[/HTML][/CODE]
우분투 리눅스에서 돌려봤다.
java가 플랫홈인디팬던트언어니 문제 없이 잘 돌아갈거라 생각했었다
그런데 으응?
프로그램상에서 출력하는 부분은 한글이 잘 나오는데,
소켓으로 주고받는곳에서 이상하게 깨져나왔다 @.@
한참을 삽질했다 ..
하다하다 안되서 어떤분에게 물어봤더니
getBytes() 에 캐릭터셋을 지정 안해주면 시스템 기본으로 읽는다더라..
라는 말에
다음과 같은 소스를 작성해 리눅스와 윈도우에서 돌려보았다
[CODE type="java"]
class test
{
public static void main(String args[]){
System.out.println("file.encoding=" + System.getProperty("file.encoding"));
}
}
[/HTML][/CODE]
리눅스-_-;;;
$ java test
file.encoding=UTF-8
윈도우
java test
file.encoding=MS949
다음과같이 고쳐줬다
소켓에서 읽어오는 부분...
[CODE type="java"]
return new String(inbuf.toByteArray(),"MS949");
[/HTML][/CODE]
소켓으로 보내는 부분...
[CODE type="java"]
out.write(ws.getBytes("MS949"));
[/HTML][/CODE]
'컴퓨터 > Java' 카테고리의 다른 글
| JFrame 뜨면서 포커싱이 안가게 하기 (1) | 2007/02/15 |
|---|---|
| 한글입력기 (3) | 2006/12/21 |
| java socket encoding 삽질기 (3) | 2006/09/10 |
| ArrayList 연습 (1) | 2006/09/05 |
| Dc to Hdd 1.0 Release (0) | 2006/08/21 |
| 나는야 버그 제조기 (3) | 2006/08/04 |
