私は、コンテンツを処理するために、テキストファイルをサーバーにアップロードするJavaEEアプリケーションを開発中です。 ユーザーのテキストソースは、特にそのエンコーディングによって大きく異なる場合があります。アップロードされたテキストファイルのエンコーディングが正しくありません
私はすべてをUTF-8に変換したいと思っていますが(永続化が近づいていますが)、最初に正しく読む必要があります。
私はInputStreamReaderの者のgetEncoding()メソッドを使用しています:
public void doThings(HttpServletRequest request) {
Part file = request.getPart("formfile");
InputStreamReader isr = new InputStreamReader(file.getInputStream());
// BUT THIS ALWAYS prints "UTF8" whatever the text file's encoding is :
System.out.println(isr.getEncoding());
}
何か他のものを移動するための方法である場合、私は実際にアプリが後でデータアップをチョップするScannerクラスおよび区切り文字を使用するためのInputStreamを使用していますが、、私は...どのような方法でそれを使用すると、アプリケーションのプラットフォーム、明らかにUTF-8にnew InputStreamReader(file.getInputStream(), charsetOfFile);
それ以外の場合はデフォルトを実行する必要があります任意のポインタ
私は、文字セットの検出が正確な科学であると思っていました...あなたの洞察に感謝します。 – Yow