JSP русский текст, проблемы
От: Lisitsin  
Дата: 23.03.14 11:49
Оценка:
Создаю JSP веб приложение, в котором русский текст из базы данных должен отображаться на странице. Использую для этого jquery-ui autocomplete combobox:


<div class="ui-widget">
        <label>Select MKB from list: </label>
        <select id="combobox">
            <option value=""></option>
            <c:forEach var="mkb" items="${mkbList}">
                <option value="${mkb.id}"><c:out value="${mkb.mkbText}"/></option>
            </c:forEach>
        </select>
    </div>


Проблема в том, что русский текст выводится весь в вопросиках. Хотя статический русский текст на странице выводится корректно.
В JSP файле я делаю инклуд :

<%@page contentType="text/html; UTF-8" pageEncoding="UTF-8"%>


Также в самом JSP есть строка:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


Я использую tomcat7, java 7. Пытался также прописать при старте томката параметр -Dfile.encoding=UTF-8, не помогло.

Сам код сервлета:


public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    MkbDAO mkbDAO = new MkbDAO();
    List<MKB> mkbList = mkbDAO.getMKBList();
    request.setAttribute("mkbList", mkbList);
    RequestDispatcher rd = getServletConfig().getServletContext().getRequestDispatcher("/WEB-INF/jsp/diagList.jsp");
    rd.include(request, response);
}


Если отлаживать код, то видно, что с базы данных данные отображаются в Watch window корректно, понятными русскими буквами.

Я также заметил, что если вставить следующий код внутри сервлета

response.setCharacterEncoding("UTF-8");


То ситуация меняется, статический русский текст, ранее отображаемый корректно, первращается в закорючки, а текст в селекте (autocomplete combobox), которые из базы данных берется, отображается корректно.

Помогите разрешить проблему,
Спасибо
java utf-8 jsp encoding
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.