Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Database/JDBC/SQL/JDO/Hibernate » MySQL  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 关于mysql5.0中的中文问题?请教高手……
dazern





发贴: 11
积分: 3
于 2005-05-13 10:46 user profilesend a private message to usersend email to dazernsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我最近在学习JSP编程,可是在学到数据库编程的时候,却遇到了很多的问题,在此向大家请教!
下面是我在测试的两个程序文件:
第一个是HTML文件,用来向JSP文件传送信息;
第二个是一个JSP文件,用来接收HTML网页发过来的数据,并将其存放于Mysql数据库中;
注:我所使用的是Mysql5.04版,JDBC驱动是mysql-connector-java-3.1.8a;
Tomcat为5.16版;
我所用的浏览器是Maxthon的最新版;

我的问题是:

1. 对于第一个Mysql.html文件,如果charset=GB2312 设成这个样子,网页就不能正确显示,全是乱码我不知道是什么缘故;而当我改成UTF-8时却又可以正常显示了。但是我在查看其他网站的HTML网页原代码时,发现用的都是GB2312编码,且都能正常显示,那么为什么我的就不能显示了;为什么在同一个浏览器中都是用的GB2312编码,别人的网页可以正常显示,而我的却显示乱码(只有设置成UTF-8编码时才能正常显示)!

2, 当我在Mysql.jsp文件中使用charset=GB2312编码时,网页可以正常显示,但当改为UTF-8时却又全变成乱码了;我真的被这些东西给搞的越来越糊涂了,我真的不知道到底是程序问题还是浏览器的问题!一个可以显示而另一个却不能显示!哎,烦!

3. 这个问题是老问题了,就是当向数据库插入数据成功后,可数据库里面的中文数据却全变成了??;
我想知道在Mysql 5.0中应该如何解决中文的存储问题?

在此谢谢大家,急待大家的解决!谢谢了!

文件一:Mysql.html

<html>
<head>
<title>CH14 - Mysql.html</title>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
</head>
<body>
<h2>将信息存入Mysql中</h2>
<form name="form" action="Mysql.jsp" method="post" >
<p>姓:<input name="last_name" type="text" id="last_name"></p>
<p>名:<input name="first_name" type="text" id="first_name"></p>
<p>
<input type="submit" value="传送">
<input type="reset" value="取消">
</p>
</form>
</body>
</html>

文件二:Mysql.jsp

<%@ page import="java.sql.*" %>
<%@ page contentType="text/html;charset=GB2312" %>

<html>
<head>
<title>CH14 - Mysql.jsp</title>
</head>
<body>

<h2>将信息存入 Mysql 中</h2>

<%
  Connection con = null;  
  Statement stmt = null;  
  Statement stmt1 = null;  
  ResultSet rs = null;
  
  request.setCharacterEncoding("GB2312");
  
  String employee_id = null;  
  String last_name = request.getParameter("last_name");  
  String first_name = request.getParameter("first_name");
  String birth = "1978/12/11";  
  String sex = "F";  
  String email = "dazern@126.com";
  
  String new_last_name = "";
  String new_first_name = "";
%>

  从 mysql.html 接收到的信息如下:<br>  
  姓:<%= last_name %>  
  名:<%= first_name %><br><br>
  
<%    
  try  
  {    
    Class.forName("com.mysql.jdbc.Driver").newInstance();    
    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sample_db?user=root&password=5201314&useUnicode=true&characterEncoding=GB2312");    
    stmt = con.createStatement();  
  
    String upd = "INSERT INTO employee(employee_id, last_name, first_name, birth, sex, email) VALUES ("+employee_id+", '"+last_name+"', '"+first_name+"', '"+birth+"', '"+sex+"', '"+email+"')";
  
    stmt.executeUpdate(upd);
    stmt1 = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);  
    String query = "SELECT * FROM employee";  
    rs = stmt1.executeQuery(query);  
  
    rs.last( );      
    new_last_name = rs.getString("last_name");  
    new_first_name = rs.getString("first_name");
  
    stmt.close();
    stmt1.close();
    con.close();
  }  
  catch(SQLException sqle)
  {
    out.println("sqle="+sqle);  
  }
  finally
  {
    try {
      if(con != null)
      {
        con.close();
      }    
    }
    catch(SQLException sqle)
    {
      out.println("sqle="+sqle);  
    }
  }
%>

  从 employee 取出最新新增的姓名:<br>    
  新增姓名:<%= new_last_name+new_first_name %><br>

</body>
</html>




联想游戏(欢迎跟贴,哈)

话题树型展开
人气 标题 作者 字数 发贴时间
6509 关于mysql5.0中的中文问题?请教高手…… dazern 3188 2005-05-13 10:46
5544 Re:关于mysql5.0中的中文问题?请教高手…… yaweja 49 2005-08-08 15:38

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923