1

サーバーはCentOSで実行されており、JavaバックエンドはCP-1252を使用して(クライアントの1つによって)Windowsマシンで元々生成されたファイルを処理する必要がある場合がありますが、95%以上のユースケースで処理していますUTF-8ファイル。

私の質問:特定のファイルが常にUTF-8であり、他のファイルが常にCP-1252であることがわかっている場合、各ファイルの読み取りに使用する文字セットをJavaで指定することはできますか?もしそうなら:

  • CentOSにCP-1252を追加するには、システムレベルで何かを行う必要がありますか?もしそうなら、これは何を含みますか?
  • ファイルごとに正しいエンコーディングを適用するために、どのJavaオブジェクトを使用しますか?

前もって感謝します!

4

2 に答える 2

2

あなたがする必要があるのは、使用中に元のファイルが書き込まれた文字セット/エンコーディングを指定することだけですXXXReader(InputStream in, Charset cs)。たとえば、InputStreamReaderを見てください

于 2012-08-23T14:05:05.470 に答える
1

私の質問:特定のファイルが常にUTF-8であり、他のファイルが常にCP-1252であることがわかっている場合、各ファイルの読み取りに使用する文字セットをJavaで指定することはできますか?

あなたがファイルを読み取るコードを担当していると仮定すると、それは問題ないはずです。を作成し、関連する文字エンコードを指定してFileInputStreamラップします。InputStreamReader

CentOSにCP-1252を追加するには、システムレベルで何かを行う必要がありますか?もしそうなら、これは何を含みますか?

これは、JREが何をサポートしているかによって異なります。私はCentOSを使ったことがないので、JREの一部として関連するエンコーディングが付属する可能性があるかどうかはわかりません。ただし、を使用Charset.isSupportedして確認したり、Charset.availableCharsets利用可能なものを一覧表示したりできます。

于 2012-08-23T14:05:46.083 に答える