<%
String name=new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8");
out.print(name);
String url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8";
String user="root";
String pass="12345678";
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection(url,user,pass);
PreparedStatement ps=conn.prepareStatement("insert into one values(?)");
ps.setString(1, name);
ps.execute();
}catch(Exception e){
e.printStackTrace();
}
String name=new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8");
out.print(name);
String url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8";
String user="root";
String pass="12345678";
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection(url,user,pass);
PreparedStatement ps=conn.prepareStatement("insert into one values(?)");
ps.setString(1, name);
ps.execute();
}catch(Exception e){
e.printStackTrace();
}
%>
这是jsp页面的代码
jsp页面和数据库设置的都是utf-8,但是插入数据库之后显示为问号(?)
解决的办法是
String url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8";
核心代码是
useUnicode=true&characterEncoding=UTF-8";
附件是 对应的mysql-jdbc驱动jar包