用户注册问题
上次那个数据库问题已解决,在次谢谢各位大哥啦!现在又有一个问题了,就是用户注册时发现的问题!1:我用的是MYSQL数据库,我在用户表UserTable定义了UserRealName(真实姓名)这个字段,数据类型是CHAR。但是我在输入数据时(如输入张三),MYSQL就报错了,说Incorrect string Value!这该怎么解决啊,难道不能用中文?我在MYSQL安装时选的是GBK啊!2:由于不能输入中文,我在注册框中输入的全是英文和数字。可在执行SQL语句的时候还是出现了异常。以下是我的代码:
<%@ page contentType= "text/html;charset=GB2312 " %>
<%@ page import= "java.sql.* " %>
<%!
public String codeToString(String str)
{//处理中文字符串的函数
String s=str;
try
{
byte tempB[]=s.getBytes( "ISO-8859-1 ");
s=new String(tempB);
return s;
}
catch(Exception e)
{
return s;
}
}
%>
<%//接收客户端提交的数据
String username=codeToString(request.getParameter( "username "));
if(username==null)//无内容则设为空串
username= " ";
String password=codeToString(request.getParameter( "password "));
if(password==null)//无内容则设为空串
password= " ";
String usertruename=codeToString(request.getParameter( "usertruename "));
if(usertruename==null)//无内容则设为空串
usertruename= " ";
String age=codeToString(request.getParameter( "age "));
int ageint;
try
{
ageint=Integer.parseInt(age.trim());
}
catch(Exception e)
{
ageint=0; //没有输入年龄或输入的年龄不是数字则值为0
}
String sex=codeToString(request.getParameter( "sex "));
if(sex==null)//无内容则设为空串
sex= " ";
String address=codeToString(request.getParameter( "address "));
if(address==null)//无内容则设为空串
address= " ";
String telephone=codeToString(request.getParameter( "telephone "));
if(telephone==null)//无内容则设为空串
telephone= " ";
%>
<%//构造追加记录SQL语句
String sqlString=null;//SQL语句
sqlString= "insert into userTable
(user_name,user_password,user_true_name,user_age,user_sex,user_address,user_telephone) "+
" values
( ' "+username+ " ', ' "+password+ " ', ' "+usertruename+ " ', "+ageint+ ", ' "+sex+ " ', ' "+address+ " ', ' "+t
elephone+ " ') ";
%>
<%//执行SQL语句
try
{ Connection con;
Statement sql;
Class.forName( "com.mysql.jdbc.Driver ");
con=DriverManager.getConnection( "jdbc:mysql://localhost:3306/JOB ", "root ", "1 ");
s