Я сталкиваюсь с проблемой кодирования (я полагаю), когда я пытаюсь загрузить файл с именем файла, имеющим шведские символы.Апплет работает нормально, когда я загружаю файл в Windows, но не в Mac OS.
Имя файла портится при печати его на стороне сервера, которая является сервером Domino, и отображает поля на Mac, но при установкекодировка в UTF-8 с помощью new String(filename.getBytes("utf-8"))
показывает ?
на Win и Mac.
ОБНОВЛЕНО:
Ниже приведены фрагменты кода:
Установка запросапараметры и отправка
...
request.setParameter("Name", tmpAtt.getFileName());
...
HttpURLConnection connection ...
connection.setRequestProperty("Content-Type", "multipart/form-data; charset=UTF-8; boundary=" + boundary);
if (os == null) os = connection.getOutputStream();
Установка параметров для имени файла и Inputstream
request.setParameter(fileUploadFieldName, tmpAtt.getFilePath(), fi);
public void setParameter(String name, String filename, InputStream is) throws IOException {
boundary();
writeName(name);
write("; charset=utf-8; filename=\"");
write(filename);
write('"');
newline();
write("Content-Type:");
String type = connection.guessContentTypeFromName(filename);
if (type == null) type = "application/octet-stream";
writeln(type);
newline();
pipe(is, os);
newline();
}
По окончании отправки на сервер
public InputStream post() throws IOException {
boundary();
writeln("--");
printOS(os);
os.close();
InputStream iis = connection.getInputStream();
printIS(iis);
return iis;
}
Получение этого вывода при записи байтовна OutputStream отправить запрос.И имя выглядит хорошо для меня.
------------------------------hxre3intl6yy-17eufpccwtxc89pbvyg0iwe3i
Content-Disposition: form-data; name="Name
Räpörå.log
------------------------------hxre3intl6yy-17eufpccwtxc89pbvyg0iwe3i
Content-Disposition: form-data; name="Name2
------------------------------hxre3intl6yy-17eufpccwtxc89pbvyg0iwe3i
Content-Disposition: form-data; name="APPROVALSTATUS
В чем может быть проблема.
спасибо.