0

Я пытаюсь экспортировать содержимое страницы JSP (содержимое находится в Japanese), и я хочу предоставить экспортированному файлу также японское имя. Но я получаю «Сохранить диалог» с искаженным именем файла - я не вижу правильного японца.Контент-распоряжение: имя японского файла искажено

enter image description here

Это диалоговое окно вызывается с помощью этой строки в файле JSP:

response.setHeader("Content-Disposition","attachment; filename="+fileName+".xml\""); 

файла кодируется в UTF-8 с помощью java.net.URLEncoder.

Он работает для браузера IE версии 9 (показывает правильное имя).

Но в IE 8 поведение очень странное: оно работает на некоторых компьютерах, а на некоторых компьютерах оно не работает. Он всегда работает на IE 8 с XP, но с Win7 он не работает на большинстве компьютеров. Я попытался сбросить браузер, очистить кеш браузера.

Еще один момент: если я изменяю язык для программ, отличных от Unicode, в Windows на японском языке, он также работает.

Я использую сервер приложений Tomcat.

Что я могу сделать? Я видел много сообщений, связанных с этим, но всегда описывается как проблема кодирования. И здесь я понимаю, что кодировка хороша, потому что она работает во многих других версиях IE.

Спасибо,

Alex

ответ

1

Я не верю, что есть надежный способ получить эту работу до IE9. Для IE9 и выше просто используйте поле заголовка, как определено в спецификации. См. http://greenbytes.de/tech/tc2231/ (тестовые примеры) и http://greenbytes.de/tech/webdav/rfc6266.html (спецификация).

+0

Они предлагают использовать «имя файла *» (с звездой) для не-ASCII символов, но, к сожалению, «имя файла *» атрибут не работает в IE8, как я понимаю, ... –

+0

Да. Просто забудьте об IE <9. –

0

Вы попробуйте следующий код:

response.setHeader("Content-Disposition","attachment; filename="+new String(fileName.getBytes(), "ISO-8859-1")+".xml\""); 

 Смежные вопросы

  • Нет связанных вопросов^_^