日期:2014-05-20  浏览次数:20730 次

大家好 不知道是不是乱码 用servlet向数据库里面写入数据时 可以显示汉字 但是我从数据库读取的时候,中文全部显示的是问号!!我也查过一些资料,希望大家再.
希望大家再讨论一下,重新认识,再加深一些印象。我mysql里面设置的是gbk所有现在我的不管是jsp还是html还是servlet都用的是gbk 为的是让他们能够统一,但是还是有些问题 
reg.html中charset也是gbk

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>会员信息填写</title>
部分代码:
public void doGet(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,IOException
{
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
PrintWriter out=resp.getWriter();
boolean bFlag=false;
req.setCharacterEncoding("gbk");
resp.setContentType("text/html;charset=gbk");
 
try
{
conn=DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();
String account=req.getParameter("account");
String password=req.getParameter("password");
 
String name=req.getParameter("name");
String sex=req.getParameter("sex");
String series=req.getParameter("series");
String yongyou=req.getParameter("yongyou");
String num=req.getParameter("req");
String comname=req.getParameter("comname");
String contact=req.getParameter("contact");
String phone=req.getParameter("phone");
String content=req.getParameter("content");
String sql="insert into member(dlaccount,dlpassword,vip_name,sex,vip_class,vip_to,number,company_name,contactor,phonenumber,remark)values('"+account+"','"+password+"','"+name+"','"+sex+"','"+series+"','"+yongyou+"','"+num+"','"+comname+"','"+contact+"','"+phone+"','"+content+"')";
 
bFlag=stmt.execute(sql);
//out.println(bFlag);
if(!bFlag)
{
out.println("Success!");
rs=stmt.executeQuery("select * from member");
printMemberInfo(out,rs);
}
 

这是输出地表格内容 :

Success! ???? ???? ???? ???? ???? ???? ???? ??? ???? ??? ???? ?? 
ds 1 ?? 0 0 ??? null ??????? ??????? ?????? ?????? 
dsfa d ?? 0 0 ??? null ??????? ??????? ?????? ?????? 


 

------解决方案--------------------
看看你浏览器显示使用的编码是什么?又点击 网页 编码选项
------解决方案--------------------
不会逐步排查么?

1:从页面传到后台程序中,输出一下看看是否正确
2:从程序中插入数据表中后,到表中看看数据是否正确
3:从数据表中读出,输出一下看看是否正确
4:最后输出到页面上,看看是否正确

你的问题出在哪一步上呢?
------解决方案--------------------
右击 -编码 取消自动选择 然后在右击 编码 选择 自动选择