jsp与Access之间的数据转换问题,急!

wwwfox111 2003-09-11 10:41:40
我用jsp+Access做了个留言版,可是在表单输入中文,

存储到数据库全是乱吗。我在jsp页面里写了个转换方法,可是根本不管用。
public String toChinese(String str){
try{
if (str==null){
return null;
}
else{
String temp=new String(str.getBytes("ISO8859-1","GB2312"));
return temp;
}
}
catch(Exception e)
{
return null;
}

我错在哪里。怎么转换啊。求助!急啊。
...全文
30 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwfox111 2003-09-12
  • 打赏
  • 举报
回复
还是不行啊,而且编译有个错误
编译出错,错误提示:
Return required at end of java.lang.String getStr(java.lang.String).
String getStr(String str)
^
高手,我现在把所有代码都发给你 ,你帮我诊断一下了。呵呵。拜托了。

我会给你40分,我还是个菜鸟,分不多。
代码如下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<%@ page import="java.util.*"%>
<%!
String getStr(String str) {
String temp=str;
try{
if(str.length()==0)
return null;
byte[] temp_p=temp.getBytes("ISO-8859-1");
return new String(temp_p,"GBk");
}catch(Exception e){ }
}
String cutLine(String str){
int indx=0;
while((indx=str.indexOf("\n"))!=-1){
str=str.substring(0,indx);
str=str+"<br>"+str.substring(indx+1);
}
return(str);
}
%>
<html>
<head>
<title>增加留言</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="css/style" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#CCCCCC">
<%String action=request.getParameter("action");
if (action==null)
{%>
<form name="form1" method="post" action="add.jsp?action=add">
............
.........(这一部分是提交表单,省略了)
<%}else{%><jsp:useBean id="guestbook" class="guestbook.GuestBookJdbc" scope="page"/>
<%
String username=request.getParameter("username");
String tx=request.getParameter("tx");
String email=request.getParameter("email");
String url=request.getParameter("url");
String sex=request.getParameter("sex");
String qq=request.getParameter("qq");
String ip=request.getRemoteAddr();
String content=request.getParameter("content");
boolean corrent=true;
int err=0;
String errmsgs[]=new String[20];
if(username.length()==0){
corrent=false;
errmsgs[err]="无名氏至少也给我个名字吧";
err++;
}
if(email.length()==0){
corrent=false;
errmsgs[err]="电子邮件忘了添了";
err++;
}
if(content.length()==0){
corrent=false;
errmsgs[err]="至少也给我写点什么了";
err++;
}
out.println("<h1><center>");
out.println("<font color=\"blue\">");
out.println("发生错误信息</font>");
out.println("<hr></h1>");
if(corrent=false){
for(int i=0;i<err;i++){
out.println("<font color=red>");
out.println(errmsgs[i]+"</font><br>");
}
out.println("<hr><br><a href=index.jsp>0我要看别人的留言0</a>");
out.println("<br><a href=add.jsp>0回留言看版0</a>");
out.println("</center>");
}
else{
username=getStr(username);
tx=getStr(tx);
email=getStr(email);
url=getStr(url);
sex=getStr(sex);
qq=getStr(qq);
ip=getStr(ip);
content=cutLine(content);
content=getStr(content);

Connection conn=guestbook.GetConn();
Statement sqlrs= conn.createStatement() ;
String sql="insert into Guestbook(username,tx,email,url,qq,content,ip,sex,date) values('"+username+"','"+tx+"','"+email+"','"+url+"','"+qq+"','"+content+"','"+ip+"','"+sex+"',')";
try{
sqlrs.executeUpdate(sql);
response.sendRedirect("index.jsp");
}catch(Exception e)
{
out.print("出错了");
}
}
}%>
<table width="75%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="22" align="center">三人行工作室 </td>
</tr>
</table>
</body>
</html>
急。拜托了
aku0708 2003-09-11
  • 打赏
  • 举报
回复
你定义一个METHOD
加个方法:
<%!public getStr(String str) throws Exception
{ try{
String temp=str;
byte[] temp_p=temp.getBytes("ISO-8859-1");
return new String(temp_p,"GBK");;
}catch(Exception e)
{
}
%>
然后在插入数据库之前将有中文的变量用这个方法将变量转换一下:
String text=null;
if(request.getParameter("text")!=null&&request.getParameter("text")!="")
{
text=getStr(request.getParameter("text"));
}

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧