我有一個Java類,可以將Windows客戶端的文本文件上傳到Linux服務器。如何使用java上傳文件而不更改其編碼
我上傳的文件是使用Cp1252或ISO-8859-1編碼的。
當文件上傳時,它使用utf-8進行編碼,然後包含像éà這樣的口音的字符串不能被讀取。
在Linux服務器命令
file -i *
告訴我,這是一個使用UTF-8編碼。
我覺得編碼改爲diring上傳,所以我說這個代碼到我的servlet:
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">
的LIB我使用上傳文件是apache commun。
Doe的任何一個人都有一個線索,因爲我真的跑出了主意!
感謝,
Otmane MALIH
請記住,您提供的servlet代碼可能在真實環境中引入奇怪的副作用......記住併發客戶端(系統屬性是全局的)。 – home
我知道,我拿走了那些代碼,我只是試圖強制文件在ISO-8859-1中進行編碼,但沒有奏效。 –