UTF-символы являются ненужными, если мы экспортируем данные из JSP в CSV-файл - PullRequest
0 голосов
/ 15 июня 2011

Данные поступают из Flex в формате UTF, но когда мы экспортируем в CSV-файл, они повреждены.если мы откроем тот же CSV-файл в notepad ++, editplus показывает правильные символы.- есть японцы и корейский голец.

for - это фрагмент кода, который мы используем.Пожалуйста, знайте, что мы можем справиться с различным языком в случае экспорта.Мы написали демонстрационное приложение на Java, это рабочий файл.

Мы поставили UTF8 + BOM, файл может правильно открываться в CSV.(это из кода Java), но если мы пытаемся добавить то же самое со страницы JSP, это не работает.

<%
    MxHtmlUtil.jspInitScript(request, response);
    response.setContentType("application/csv; charset=UTF-8"); 
    response.setHeader("content-disposition", "attachment; filename=multi-cms-search.csv");

    if (request.getParameter("content") != null)
        out.println(request.getParameter("content"));
%>

Добавлен bom следующим образом, но он не работает на странице jsp, он отлично работает в коде Java.

    out.print("\ufeff"); 
    out.println(request.getParameter("content"));

1 Ответ

0 голосов
/ 15 июня 2011

JSP - это технология просмотра, разработанная для генерации и отправки вывода HTML, а не другие форматы файлов. Все пробелы и символы новой строки за пределами <% %> вещей также отправляются на выход. Это могло повредить и то, и другое.

Удалите все эти пробелы из JSP или, лучше, поместите весь этот код Java в обычный класс Java. Для этого идеально подходит Сервлет .

Обратите внимание, что вы также должны звонить

response.setCharacterEncoding("UTF-8");

перед записью любого байта в тело ответа. Именно он указывает автору, какую кодировку использовать для перевода записанных символов в байты в теле ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...