1

スプリング コントローラーで文字列を作成しています。これにはトルコ語の文字が含まれています

String str1 = "iş ortaklığı";

System.setOut(new PrintStream(System.out,true,"UTF-8")); のように印刷しようとすると、System.out.println(s);

出力はiÅŸ ortaklığı です

byte[] utf81 = str1.getBytes("UTF-8"); test3 = 新しい文字列 (utf8);

        System.out.println(test3);

出力はiÅŸ ortaklığı です

byte[] utf8 = str1.getBytes("windows-1254"); test3 = new String("windows-1254");

出力はiþ ortaklýðý です。

しかし、上記のすべてのコードは、メイン メソッドであるコンソール プログラムで正常に
動作します。メイン メソッドは、 iş ortaklığı のような出力を出力します。

どんな提案もかなりのものでなければなりません

4

1 に答える 1

2

交換する場合

System.setOut(new PrintStream(System.out,true,"UTF-8")); 

System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out),true,"UTF-8"));

次にSystem.out、UTF-8がデフォルトのエンコーディングを再エンコードする代わりに、テキストコンテンツをstdoutにエンコードするようになります。

Java、デフォルトのエンコーディングでは、 Javaのデフォルトのエンコーディングとその操作方法について説明しています。プログラムの実行方法を制御できる場合は、デフォルトのエンコードをUTF-8に強制することをお勧めします。

于 2012-12-14T04:57:59.963 に答える