Windows クライアントから Linux サーバーにテキスト ファイルをアップロードする Java クラスがあります。
アップロードしようとしているファイルは、Cp1252 または ISO-8859-1 を使用してエンコードされています。
ファイルがアップロードされると、utf-8 を使用してエンコードされるため、éèà などのアクセントを含む文字列を読み取ることができません。
コマンド
file -i *
Linuxサーバーで、utf-8を使用してエンコードされていることがわかります。
アップロード中にエンコーディングが変更されたと思われるため、このコードをサーブレットに追加しました。
String currentEncoding=System.getProperty("file.encoding");
System.setProperty("file.encoding", "Cp1252");
item.write(file);
System.setProperty("file.encoding", currentEncoding);
jsp ファイルには、次のコードがあります。
<form name="formUpload"
action="..." method="post"
enctype="multipart/form-data" accept-charset="ISO-8859-1">
ファイルのアップロードに使用するライブラリは apache commun です。
私は本当にアイデアが不足しているので、誰も手がかりを持っています!
ありがとう、
オトマネ・マリフ