2016-11-17 2 views
0

У меня есть база данных TomCat 8.00 и IntelliJ IDEA 14.0 и h2. Когда я получаю текст из текстовых полей в регистрационной форме (кириллические) записей в базе данных, вот так: imageКодирование JSP-файлов в TomCat

Это importand сказать, что я сделал эти конфигурации. enter image description here

Это мой index.jsp файл

<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %> 
<html> 
<head> 
    <title>Home</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 

Это мой сервлет

public class RegisterServlet extends HttpServlet { 

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

     String username = request.getParameter("usernameReg"); 
     String pass = request.getParameter("passReg"); 
     String name = request.getParameter("firstNameReg"); 
     String lastName = request.getParameter("lastNameReg"); 
     String email = request.getParameter("emailReg"); 

     request.setAttribute("Username", username); 

     StudentBean regstudent; 
     try { 
      regstudent = new RegisterDAO().registerStudent(username, pass, name, lastName, email); 
      request.getServletContext().getRequestDispatcher("/index.jsp").forward(request, response); 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
    } 

и мой класс RegisterDAO:

public class RegisterDAO { 

    Connection conn = null; 
    PreparedStatement state = null; 
    //ResultSet res = null; 

    public StudentBean registerStudent(String userName, String pass, String name, String lastName, String email) throws SQLException{ 

     StudentBean result = null; 
     String sql = "INSERT INTO STUDENT VALUES(null, ?, ?, ?, ?, ?)"; 

     try { 
      conn = DbConnection.getInstance().getConnect(); 
      state = conn.prepareStatement(sql); 
      state.setString(1, userName); 
      state.setString(2, pass); 
      state.setString(3, name); 
      state.setString(4, lastName); 
      state.setString(5, email); 
      state.execute(); 
     } catch (SQLException e) { 
      System.out.println("Нулл поинт"); 
      e.printStackTrace(); 
     }finally { 
      if(state != null){ 
       state.close(); 
      } 
     } 
     DbConnection.getInstance().Disconnect(); 

     return result; 
    } 
} 

На английском все работает отлично. Я думаю, что jsp-файл не сохраняется в UTF-8 и по-прежнему использует стандартную кодировку IntelliJ.

Я был бы признателен за любые идеи, решить проблему.

С наилучшими пожеланиями, D. Balamjiev

+0

открыть файл JSP в IntelliJ и проверить, что вы получите в нижнем правом углу, он должен быть кодировку файла –

+0

Это UTF- 8, но не работает. –

+0

Проверьте базу данных. –

ответ

0

Вы можете попробовать добавить это в сервлет.

response.setCharacterEncoding («UTF-8»)

+0

Нет, он все еще не работает. –

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