这是jsp页面
String ShipName = new String(request.getParameter("ShipName").getBytes("ISO8859_1"),"UTF-8");
String project = new String(request.getParameter("project").getBytes("ISO8859_1"),"UTF-8");
int number = Integer.parseInt(request.getParameter("test"));
String name = (String)session.getAttribute("username");
try{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://192.168.3.228:3305/YuDetect";
String username = "bigdaddy";
String password = "senya@2018";
Connection conn = DriverManager.getConnection(url,username,password);
String isExit = "select * from TestResult where ShipName = '"+ShipName+"' and DetectItem = '"+project+"'";
PreparedStatement pstmt = conn.prepareStatement(isExit);
ResultSet rs = pstmt.executeQuery();
if(rs.next()){
out.print("该数据已存在,请不要重复添加!");
}else{
String sql = "insert into TestResult(ShipName,DetectItem,Val_detect,Detector) values(?,?,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1,ShipName);
ps.setString(2,project);
ps.setInt(3,number);
ps.setString(4,name);
int row = ps.executeUpdate();
if(row > 0){
out.print("成功添加数据!");
}
ps.close();
conn.close();
}
}catch(Exception e){
out.print("数据添加失败!");
e.printStackTrace();
}
这是mysql数据库的字符集
现在可以确定的是,传到jsp页面的数据里没有乱码,“ShipName”可以正常显示中文,我觉得关键的问题在于往数据库里添加的时候出了编码问题,但是我数据库的编码格式也是utf-8(UTF-8和UTF8mb4都试过)结果都是
想问问还有没有什么解决方法