大家好,进来帮我看一下这段程序为什么错了,,谢谢!!!

jkwq 2006-06-27 06:54:37
go.htm是一个表单提交的htm文件 以下程序是表单提交到的文件
为什么我在表单中输入的中文在数据库中看到的是乱码,而英文却可以?哪位帮我看一下,我弄很久了,谢谢!!!


package com.linsheng.www;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import oracle.sql.*;
import oracle.jdbc.*;
public class Test extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
PrintWriter out=response.getWriter();
out.println("2222222");

request.setCharacterEncoding("GB2312");
String data = request.getParameter("somedata");
out.println(data);
StringReader someData = new StringReader(data);
//BufferedReader someData = new BufferedReader(someDa);
//CharArrayReader someData = new CharArrayReader(data.toCharArray());
ResultSet rs=null;
Connection con=null;
Statement sttm=null;
String sele=null;
String upd=null;
String use="one";
try{
con=OracleCon.conn();//数据库连接在另一个类里
sttm=con.createStatement();
upd="insert into test (id_name,id_content) values('"
+ use +"',EMPTY_CLOB())";
sttm.executeUpdate(upd);
sele="select id_content from test where id_name='" + use + "' for update";
rs=sttm.executeQuery(sele);
rs.next();
CLOB myClob = ((OracleResultSet)rs).getCLOB("id_content");
int bufferSize = myClob.getBufferSize();

char[] textBuffer = new char[bufferSize];
Writer myOutputStream = myClob.getCharacterOutputStream();
int bytesRead;
while ((bytesRead = someData.read(textBuffer))!=-1){
myOutputStream.write(textBuffer);
}
myOutputStream.close();
sttm.execute("commit");
}catch(SQLException e){
System.out.println("Error code = " + e.getErrorCode());
System.out.println("Error message = " + e.getMessage());
}catch(Exception e){
//...........
}
finally{
try{
if(rs!=null){
rs.close();
}
OracleCon.des(con,sttm);

}catch(SQLException e){

System.out.println("Error code = " + e.getErrorCode());
System.out.println("Error message = " + e.getMessage());
}
}

}
public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
doGet(request,response);
}
}
...全文
138 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

17,377

社区成员

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

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