jsp与mysql提交中文问题

来源:百度知道 编辑:UC知道 时间:2024/06/19 06:35:56
我用表单提交中文(用户名:张三)后提交就出现这些“com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'name' at row 1 ” 错误,不知道怎么解决,下面是我的代码,大家看看帮我解决下!
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.sql.*"%>

<html>
<head><title>mysqllianxi</title></head>
<body bgcolor="#abb1a1">
<center>

<%

String uname=request.getParameter("name");
String pwd=request.getParameter("password");
String em=request.getParameter("email");
String books=request.getParameter("book");
%>

<%
request.setCharacterEncoding("GBK");

String driver="org.gjt.mm.mysql.Driver";
//String driver="org.gjt.mm.mysql.Driver";

String url="jdbc:mysql://localhost:3306/lianxi?user=root&password=12

先改长一点
是乱码的话就是
那就是你的连接mysql时没设置charset。
在你的url后加上&useUnicode=true&characterEncoding=gbk;

详细点!

我的意见是你把页面上收到的uname的值打印出来,看一下到底是什么。
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'name' at row1,这个错误提示很明显了,就是说name这个列插入的数据太长,你仔细看下应该是传值或者字符集编码的问题

程序没有问题 ,是你数据库设计的问题啊
把name字段的长度放长比如varchar(50).
你可以用那句数据库插入语句在mysql环境下测试看看就知道了,再说汉字的长度是字母的两倍.