3

Eclipseでは、デフォルトのエンコーディングをISO-8859-1に変更しました。それから私はこれを書いた:

String str = "Русский язык ";
PrintStream ps = new PrintStream(System.out, true, "UTF-8");
ps.print(str);

エンコーディングStringを指定しているので、正しく印刷されるはずです。UTF-8ただし、印刷ではありません。

4

4 に答える 4

4

ISO-8859-1文字エンコードは0から255までの文字のみをサポートし、それ以外のものは「?」に変換される可能性があります。

于 2012-08-21T19:12:01.180 に答える
4

ソースファイル(.javaファイル)をISO-8859-1として保存すると、ISO-8859-1strを使用してjavacでエンコードされます。あなたの問題は作成にありませんPrintStreamstrあなたが印刷しているのは最初から間違っています。

于 2012-08-21T19:23:35.067 に答える
0

はい、この出力を送信している端末はこのエンコーディングをサポートしていないようです。

Eclipseを実行している場合は、次のようにエンコードを設定できます。

  • 実行構成...->共通->エンコーディング->その他
  • UTF-8を選択します
于 2012-08-21T19:17:47.103 に答える
0

基本的に、PrintStreamライターに、入力文字がUTF-8でエンコードされていることを期待し、UTF-8として出力するように指示しています。変換はありません。ファイルの文字エンコードとしてISO-8859-1を使用するようにIDEを設定した場合、ISO-8859-1でエンコードされた文字をUTF-8期待ライターにパイプするよりも、入力文字列が含まれます。そのため、ライターは受信したバイトをUTFでエンコードされた文字として扱い、データがジャンクになります。

ソースファイルをUTF-8でエンコードするようにIDEを設定し、文字が正しく表示および保存されていることを確認します。または、ライターにISO-8859-1として扱うように指示します。どちらの方法でもかまいません。

于 2012-08-21T19:35:01.443 に答える