关于JSP中,中文问题(泛指字符问题),以及常见错误调试手记
sports98写于2001-1-9
序言:
在论坛中,生活中,工作中,有不少和我一样属于鸟级的用户,在面对着不明白的问题的时候就盲目了,多交流,多写写日记就好的多了
文章内容关于:2001-01-08日,编写/调试[用户注册程序]
编写环境:WIN2K(简体中文版) server sp2 + TOMCAT4.0 + J2SDK1.3+MYSQL4.0(alpha)
检测数据库内容环境:WIN2K(简体中文版) server sp2 + IIS5.0 + PHP4.0+MYSQL4.0(alpha)+PHPMYADMIN2.0
程序代码(最终程序代码):
----------------------------------------------------------------------------------------------------------------------
<%@ page import="java.sql.*" contentType="text/HTML;charset=gb2312" %>
<%//获取提交信息
String reg_name=new String();
String reg_nick=new String();
String reg_pws=new String();
String reg_pws_rp=new String();
String reg_sex=new String();
String reg_email=new String();
String reg_email_rp=new String();
String reg_address=new String();
String reg_tel=new String();
String reg_hand=new String();
String reg_counter=new String();
String reg_city=new String();
String reg_zip=new String();
String reg_company=new String();
String reg_calling=new String();
String reg_place=new String();
String reg_question=new String();
String reg_answer=new String();
String reg_submit=new String();
String reg_check=new String();
String reg_momo=new String();
String SQL=new String();
String reg_teminfo=new String(); //欢迎信息,在论坛内将要使用
int flag_system;
int flag=1; //定义注册用户标记,1为活动用户,0为非活动拥护
int up=0; //定义用户登陆情况,注册时候默认为0次
//转换字符设置将ISO8859-1字符转为GBK字符,这样符合MYSQL字符,解决TOMCAT服务器下中文问题
reg_name=new String(request.getParameter("reg_truename").getBytes("GBK"),"ISO8859-1"); //用户真实名称
reg_nick=new String(request.getParameter("reg_name").getBytes("GBK"),"ISO8859-1"); //用户昵称
reg_pws=new String(request.getParameter("reg_pws").getBytes("GBK"),"ISO8859-1"); //用户密码
reg_pws_rp=new String(request.getParameter("reg_pws_rp").getBytes("GBK"),"ISO8859-1"); //校验密码
reg_sex=new String(request.getParameter("reg_sex").getBytes("GBK"),"ISO8859-1"); //用户性别
reg_email=new String(request.getParameter("reg_email").getBytes("GBK"),"ISO8859-1"); //电子邮件
reg_email_rp=new String(request.getParameter("reg_email_rp").getBytes("GBK"),"ISO8859-1"); //校验电子邮件
reg_address=new String(request.getParameter("reg_address").getBytes("GBK"),"ISO8859-1"); //详细地址
reg_tel=new String(request.getParameter("reg_tel").getBytes("GBK"),"ISO8859-1"); //联系电话
reg_hand=new String(request.getParameter("reg_hand").getBytes("GBK"),"ISO8859-1"); //手机或其他联系方式
reg_counter=new String(request.getParameter("reg_counter").getBytes("GBK"),"ISO8859-1"); //国家
reg_city=new String(request.getParameter("reg_city").getBytes("GBK"),"ISO8859-1"); //城市
reg_zip=new String(request.getParameter("reg_zip").getBytes("GBK"),"ISO8859-1"); //邮政编码
reg_company=new String(request.getParameter("reg_company").getBytes("GBK"),"ISO8859-1"); //公司名称
reg_calling=new String(request.getParameter("reg_calling").getBytes("GBK"),"ISO8859-1"); //职位性质
reg_place=new String(request.getParameter("reg_place").getBytes("GBK"),"ISO8859-1"); //职位
reg_question=new String(request.getParameter("reg_question").getBytes("GBK"),"ISO8859-1"); //机密问题
reg_answer=new String(request.getParameter("reg_answer").getBytes("GBK"),"ISO8859-1"); //机密答案
reg_submit=new String(request.getParameter("reg_submit").getBytes("GBK"),"ISO8859-1"); //提交变量
reg_check=new String(request.getParameter("reg_check").getBytes("GBK"),"ISO8859-1"); //是否检测过姓名标记
reg_momo=new String(request.getParameter("reg_momo").getBytes("GBK"),"ISO8859-1"); //用户简单信息MOMO
////////////////////////
reg_teminfo="论坛内欢迎信息";
reg_teminfo=new String(reg_teminfo.getBytes("GBK"),"ISO8859-1");
int reg_temflag=1; //在论坛内寻找该字段以便弹出即时信息
boolean temp=reg_check.equals("120980"); //判断标记,以后采用SESSION进行保存判断值
try{
if(temp)
{
%>
body {font:9pt;color:black;margin:0}
td {font:9pt;color:black}
<%
//////////////////////////////////////////判断用户注册信息////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////
java.lang.String strConn;
Class.forName("org.gjt.mm.mysql.Driver").newInstance(); //声明驱动程序For mysql
//声明连接对象 Connection C------C 为连接对象 Connection 为声明语句
Connection C = DriverManager.getConnection("jdbc:mysql://localhost/news?user=mysql&password=mysql&useUnicode=true&characterEncoding=8859_1"); //连接到数据库
Statement s=C.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=s.executeQuery("select * from reg where nick='"+reg_name+"'"); //声明执行对象
if(rs.next())
{
%>
| 错误:非法操作注册程序! |
| 提示:您已经注册或正在非法浏览本页面 本页面不允许刷新! |
<%
}
else
{
SQL="INSERT INTO reg (id,flag, name, nick, sex, pws, email, address, tel, hand, city, zip, company, counter, momo, teminfo, temflag, calling, place, question, answer, up) VALUES ('','"+flag+"', '"+reg_name+"', '"+reg_nick+"', '"+reg_sex+"', '"+reg_pws+"', '"+reg_email+"', '"+reg_address+"', '"+reg_tel+"', '"+reg_hand+"', '"+reg_city+"', '"+reg_zip+"', '"+reg_company+"', '"+reg_counter+"', '"+reg_momo+"', '"+reg_teminfo+"', '"+reg_temflag+"', '"+reg_calling+"', '"+reg_place+"', '"+reg_question+"', '"+reg_answer+"', '"+up+"')";
s.executeUpdate(SQL);
%>
| 恭喜!您已经注册成功,您的基本信息为... | |
| 用户名: | <%=new String(reg_nick.getBytes("ISO8859-1"),"GBK")%> |
| 真实姓名: | <%=new String(reg_name.getBytes("ISO8859-1"),"GBK")%> |
| 性别: | <%=reg_sex%> |
| 密码: | <%=reg_pws%> |
| 电子邮件: | <%=reg_email%> |
| 详细地址: | <%=new String(reg_address.getBytes("ISO8859-1"),"GBK")%> |
| 联系电话: | <%=new String(reg_tel.getBytes("ISO8859-1"),"GBK")%> |
| 第二联系方式: | <%=reg_hand%> |
| 所在城市: | <%=reg_city%> |
| 邮政编码: | <%=reg_zip%> |
| 公司名称: | <%=new String(reg_company.getBytes("ISO8859-1"),"GBK")%> |
| 国家: | <%=reg_counter%> |
| 工作性质: | <%=reg_calling%> |
| 职务: | <%=reg_place%> |
| 提示:您已经登陆本站<%=up%>次,您可以使用本帐户直接登陆论坛... | |
| 返回主页 | 进入论坛 |
<%
}
%>
<%
}
else
{
%>
抱歉!非法的操作步骤!
Sorry!YOU have nullity at register!please register again!
<%
}
}
catch (Exception t) {
out.println("
错误:本页不允许刷新!
或您执行了非法操作!
Error:This page can't refresh!
you have error

