Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Database/JDBC/SQL/JDO/Hibernate
» MySQL
打印话题 寄给朋友 订阅主题 |
作者 | 关于mysql5.0中的中文问题?请教高手…… |
dazern
发贴: 11 积分: 3 |
于 2005-05-13 10:46
我最近在学习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 |
已读帖子 新的帖子 被删除的帖子 |
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 |