- PR -

文字コードについて教えてください。

1
投稿者投稿内容
会議室デビュー日: 2005/05/07
投稿数: 12
投稿日時: 2005-05-25 20:32
Windows上でコーディングしたものを
RedHatLinux上にFTPでアップして、コンパイル&実行しています。

例えば、
String str = "あいうえお";
System.out.println(str);
とすると、Linux上では文字化けしますので、
これを解消する仕方がわかりません。
たとえば、次のようにコーディングしました。

String s1 = "あいうえお
Charset iso = Charset.forName("EUC_JP");
CharsetEncoder encoder = iso.newEncoder();
CharBuffer cbuf = CharBuffer.wrap(s1.toCharArray());
ByteBuffer bbuf = encoder.encode(cbuf);
String s2 = new String(bbuf.array());
System.out.println(s2);

この書き方は全くの間違いなんでしょうか?
違う方法とかあればご教授ください。
Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2005-05-25 21:41
javacはデフォルトではプラットフォームが利用するエンコーディングを利用します。
RedHatLinux上ではASCIIになるかもしれないので、コンパイル時に-encoding EUC_JPパラメーターで文字コード指定してみてください。
びしばし
大ベテラン
会議室デビュー日: 2002/03/13
投稿数: 181
投稿日時: 2005-05-25 23:37
元のソースのまま、
・Windows でコンパイルしたものを Linux で実行する。
・native2ascii で処理してから、Windows および Linux それぞれでコンパイル、Linux で実行する。
などなど試してみると勉強になるかもしれませんよ。

「これでいいんですか ?」と聞く前に「これでいいんじゃないかな」と実験してみましょう。そして「これでダメだったのか。じゃあなんでダメだったんだろう」と考えてみましょう。

# 参考にならなかったらごめんなさい。
nekoyama
ベテラン
会議室デビュー日: 2005/03/12
投稿数: 71
投稿日時: 2005-05-26 00:11
FTPでLinuxにアップロードしているときに、ソースファイルの文字コード自体が化けているのでは?
FTPのアスキーモードとバイナリモードは正常に使い分けられていますか?
会議室デビュー日: 2005/05/07
投稿数: 12
投稿日時: 2005-05-30 00:10
どうもありがとうございました。
Windows でコンパイルしたものを Linux で実行する。っというやり方で対応いたしました。
基本からきちんと勉強します。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)