帮别人做的 servlet的过滤器还不会。
把数据插到access中就是乱码!但是如果插入数字就没有问题,试过“UTF-8”。
有人说是getBytes()的问题,说它是一个字符的传 而汉字一个字是两个字符!但是用什么替换呢!
谢谢各位大侠了!
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="GBK"%>
<html>
<head>
</head>
<body>
<%
request.setCharacterEncoding("GBK");
Connection con=null;
Statement smt=null;
ResultSet rs=null;
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{ out.print(e);
}
try { con=DriverManager.getConnection("jdbc:odbc:huojiang","",""); //注意数据源的名称,用户名和密码,ODBC连接
smt=con.createStatement();
}
catch(SQLException e)
{ out.print(e);
}
String xiangmu = new String(request.getParameter("xiangmu").getBytes("ISO8859_1"),"GBK");
String dengji = new String(request.getParameter("dengji").getBytes("ISO8859_1"),"GBK");
String name = new String(request.getParameter("name").getBytes("ISO8859_1"),"GBK");
String time = new String(request.getParameter("time").getBytes("ISO8859_1"),"GBK");
String teacher = new String(request.getParameter("beizhu").getBytes("ISO8859_1"),"GBK");
String beizhu = new String(request.getParameter("name").getBytes("ISO8859_1"),"GBK");
String sql = "INSERT INTO shijian(竞赛项目,时间,获奖等级,获奖人,指导教师,备注) values(?,?,?,?,?,?)";
PreparedStatement prepstmt = null;
prepstmt=con.prepareStatement(sql);
prepstmt.setBytes(1,xiangmu.getBytes("GBK"));
prepstmt.setBytes(2,time.getBytes("GBK"));
prepstmt.setBytes(3,dengji.getBytes("GBK"));
prepstmt.setBytes(4,name.getBytes("GBK"));
prepstmt.setBytes(5,teacher.getBytes("GBK"));
prepstmt.setBytes(6,beizhu.getBytes("GBK"));
prepstmt.executeUpdate();
System.out.println();
%>
<h1><a href="show.jsp">返回继续添加信息</a></h1>
<h1><a href="index.jsp">返回首页</a> </h1>
</body>
</html>
把数据插到access中就是乱码!但是如果插入数字就没有问题,试过“UTF-8”。
有人说是getBytes()的问题,说它是一个字符的传 而汉字一个字是两个字符!但是用什么替换呢!
谢谢各位大侠了!
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="GBK"%>
<html>
<head>
</head>
<body>
<%
request.setCharacterEncoding("GBK");
Connection con=null;
Statement smt=null;
ResultSet rs=null;
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{ out.print(e);
}
try { con=DriverManager.getConnection("jdbc:odbc:huojiang","",""); //注意数据源的名称,用户名和密码,ODBC连接
smt=con.createStatement();
}
catch(SQLException e)
{ out.print(e);
}
String xiangmu = new String(request.getParameter("xiangmu").getBytes("ISO8859_1"),"GBK");
String dengji = new String(request.getParameter("dengji").getBytes("ISO8859_1"),"GBK");
String name = new String(request.getParameter("name").getBytes("ISO8859_1"),"GBK");
String time = new String(request.getParameter("time").getBytes("ISO8859_1"),"GBK");
String teacher = new String(request.getParameter("beizhu").getBytes("ISO8859_1"),"GBK");
String beizhu = new String(request.getParameter("name").getBytes("ISO8859_1"),"GBK");
String sql = "INSERT INTO shijian(竞赛项目,时间,获奖等级,获奖人,指导教师,备注) values(?,?,?,?,?,?)";
PreparedStatement prepstmt = null;
prepstmt=con.prepareStatement(sql);
prepstmt.setBytes(1,xiangmu.getBytes("GBK"));
prepstmt.setBytes(2,time.getBytes("GBK"));
prepstmt.setBytes(3,dengji.getBytes("GBK"));
prepstmt.setBytes(4,name.getBytes("GBK"));
prepstmt.setBytes(5,teacher.getBytes("GBK"));
prepstmt.setBytes(6,beizhu.getBytes("GBK"));
prepstmt.executeUpdate();
System.out.println();
%>
<h1><a href="show.jsp">返回继续添加信息</a></h1>
<h1><a href="index.jsp">返回首页</a> </h1>
</body>
</html>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货