jsp页面向Mysql数据库提交中文是老是出现异常是什么原因

来源:百度知道 编辑:UC知道 时间:2024/06/28 04:57:33
下面是我的代码:
MysqlInsert.jsp:

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.io.*"%>
<div align="center"><h2>图书入库信息</h2>
<form action="InsertMysql.jsp" method="post">
图书名称:<input type="text" name="name" /> <br />
出版社: <input type="text" name="publisher" /><br />
价格: <input type="text" name="price" /><br />
<input type="submit" value="提交" />
</form></div>

InsertMysql.jsp:

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.util.*,java.io.*"%>
<%
try
{
String driverName="com.mysql.jdbc.Driver";//驱动程序名
String userName="ro

既然是 SQLException,那肯定是数据到数据库中才出的错误,数据库异常。
name=new String(name.getBytes("iso-8859-1"));这个语句你把汉字编码变成默认。所以错误应该是mysql 不识别gb2312的编码。
在mysql 下用show variables like 'char%';查询一下数据库默认的编码。如果不是GB码,那得要重新配置一下了。

MySQL的字符要设为GB2312,不然插入中文就会出错,utf8不行。。。
你的价格是什么 类型?要是int型 的还是把两边的引号去掉吧。
我也不太懂,希望对你有所帮助。