- - PR -
文字コードについて教えてください。
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 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); この書き方は全くの間違いなんでしょうか? 違う方法とかあればご教授ください。 |
|
投稿日時: 2005-05-25 21:41
javacはデフォルトではプラットフォームが利用するエンコーディングを利用します。
RedHatLinux上ではASCIIになるかもしれないので、コンパイル時に-encoding EUC_JPパラメーターで文字コード指定してみてください。 |
|
投稿日時: 2005-05-25 23:37
元のソースのまま、
・Windows でコンパイルしたものを Linux で実行する。 ・native2ascii で処理してから、Windows および Linux それぞれでコンパイル、Linux で実行する。 などなど試してみると勉強になるかもしれませんよ。 「これでいいんですか ?」と聞く前に「これでいいんじゃないかな」と実験してみましょう。そして「これでダメだったのか。じゃあなんでダメだったんだろう」と考えてみましょう。 # 参考にならなかったらごめんなさい。 |
|
投稿日時: 2005-05-26 00:11
FTPでLinuxにアップロードしているときに、ソースファイルの文字コード自体が化けているのでは?
FTPのアスキーモードとバイナリモードは正常に使い分けられていますか? |
|
投稿日時: 2005-05-30 00:10
どうもありがとうございました。
Windows でコンパイルしたものを Linux で実行する。っというやり方で対応いたしました。 基本からきちんと勉強します。 ありがとうございました。 |
1