Topic: 让 mysql5.0 + DataSource 彻底接受中文---使用篇( 感谢mysql5.0 )

  Print this page

1.让 mysql5.0 + DataSource 彻底接受中文---使用篇( 感谢mysql5.0 ) Copy to clipboard
Posted by: shunzi
Posted on: 2006-01-08 14:31

我使用的是 apache-tomcat-5.5.15 + mysql 5.0 + mysql-connector-java-5.0.0-beta.zip + jdk1.5.0_06 。
(各位请注意,要想达到下面的结果,必须在安装 mysql 5.0 时注意,将 mysql 5.0 的默认字体由 latin1 改为 GB2312 ,切忌,不然还是不行!!!! )
1.在jsp中插入中文纪录。当然要对这里用到的一些参数设置如 web.xml server.xml database 这里不再多说。
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page import="com.mysql.jdbc.Connection"%>
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page session="true"%>

<%
String ses=(String)session.getAttribute("suc");
  if(ses.length()==0)
   response.sendRedirect("errorpage.jsp");
  String stu=new String(ses.getBytes("ISO-8859-1"),"GB2312");
  String leixing="填空";
  String id=request.getParameter("id").trim();
   String tigan=request.getParameter("tigan").trim();
  String da=request.getParameter("da").trim();
  try
{
java.sql.Connection con;
ResultSet rs;
   PreparedStatement stmt;
Context ctx = new InitialContext();
DataSource ds =(DataSource)ctx.lookup("java:comp/env/jdbc/BookDB");
con = ds.getConnection();
stmt=con.prepareStatement("insert into tiku(lx,id,tg,da) values(?,?,?,?)");
stmt.setString(1,leixing);
stmt.setString(2,id);
//注意
tigan=new String(tigan.getBytes("ISO-8859-1"),"GB2312");
stmt.setString(3,tigan);
//注意
da=new String(da.getBytes("ISO-8859-1"),"GB2312");
stmt.setString(4,da);
stmt.executeUpdate();
stmt.close();
con.close();
}catch (Exception e) {out.println("数据库连接出现异常:"+e.getMessage());}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>设置填空题</title>
<style type="text/css">
<!--
body {
  margin-left: 0px;
  margin-top: 0px;
}
td {
  font-size: 12px;
  color: #FFFFFF;
}
-->
</style>
</head>

<body>
<form name="shezhi_tk" id="shezhi_tk" method="post" action="shezhi_tk1.jsp">
<table width="760" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FF9801">
<!--DWLayoutTable-->
<tr>
<td width="18" height="36"> </td>
<td width="15"> </td>
<td width="38"> </td>
<td width="139"> </td>
<td width="14"> </td>
<td width="120"> </td>
<td width="40"> </td>
<td width="366"> </td>
<td width="10"> </td>
</tr>
<tr>
<td height="18"> </td>
<td colspan="6" valign="top"><p>当前系统管理员为:<%=stu%></p> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td height="47"> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td height="16"> </td>
<td> </td>
<td colspan="2" valign="top">题号:
<label>
<input name="id" type="text" id="id" size="3" maxlength="3">
(1-24)</label></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td height="47"> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>



<tr>
<td height="68"></td>
<td></td>
<td valign="top">题干:</td>
<td colspan="5" valign="top"><label>
<textarea name="tigan" cols="90" rows="5" id="tigan"></textarea>
</label></td>
<td> </td>
</tr>
<tr>
<td height="17"></td>
<td></td>
<td> </td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="16"></td>
<td></td>
<td valign="top">答案:</td>
<td colspan="5" valign="top"><label>
<input name="da" type="text" id="da" value="" size="90" maxlength="100">
</label></td>
<td></td>
</tr>
<tr>
<td height="62"></td>
<td></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td></td>
</tr>
<tr>
<td height="21"></td>
<td></td>
<td> </td>
<td> </td>
<td> </td>
<td align="center" valign="top"><label>
<input type="submit" name="Submit" value="添 加">
</label></td>
<td> </td>
<td> </td>
<td></td>
</tr>
<tr>
<td height="44"></td>
<td></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td></td>
</tr>
</table>
</form>
</body>
</html>

2.在另一个页面中读出记录
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page import="com.mysql.jdbc.Connection"%>
//<%@ page contentType="text/html; charset=gb2312"%>
<%@ page session="true"%>
<%
String stu=(String)session.getAttribute("stuname");
if(stu.length()==0)
response.sendRedirect("errorpage.jsp");
stu=new String(stu.getBytes("ISO-8859-1"),"GB2312");
try
{
java.sql.Connection con;
ResultSet rs;
   PreparedStatement stmt;
Context ctx = new InitialContext();
DataSource ds =(DataSource)ctx.lookup("java:comp/env/jdbc/BookDB");
con = ds.getConnection();
stmt=con.prepareStatement("select id,tg from tiku where lx ='填空'");
rs=stmt.executeQuery();
String id1;
String tg1;
while(rs.next()){
//注意不用什么转化
id1=rs.getString("id");
   out.println(" <br> "+id1+" <br> ");
//注意不用什么转化
tg1=rs.getString("tg");
   out.println(" <br> "+tg1+" <br> ");
}
rs.close();
stmt.close();
con.close();
}catch (Exception e) {out.println("数据库连接出现异常:"+e.getMessage());}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>试题--填空</title>
<style type="text/css">
<!--
body {
  margin-left: 0px;
  margin-top: 0px;
}
-->
</style></head>

<body>
<form name="tiankong" id="tiankong" method="post" action="tiankong0.jsp">
<table width="760" border="0" cellpadding="0" cellspacing="0" bgcolor="FF9801">
<!--DWLayoutTable-->
<tr>
<td width="53" height="38"> </td>
<td width="660"> </td>
<td width="47"> </td>
</tr>
<tr>
<td height="23"> </td>
<td valign="top"><!--DWLayoutEmptyCell--> </td>
<td> </td>
</tr>
<tr>
<td height="288"> </td>
<td> </td>
<td> </td>
</tr>
</table>
</form>
</body>
</html>
祝大家工作愉快,感谢mysql 让我们不用再为了中文显示而头疼。

2.Re:让 mysql5.0 + DataSource 彻底接受中文---使用篇( 感谢mysql5.0 ) [Re: shunzi] Copy to clipboard
Posted by: tzb
Posted on: 2006-01-31 15:42

Well , so great.

3.Re:让 mysql5.0 + DataSource 彻底接受中文---使用篇( 感谢mysql5.0 ) [Re: shunzi] Copy to clipboard
Posted by: Loucal
Posted on: 2006-02-17 09:53

将 mysql 5.0 的默认字体由 latin1 改为 GB2312

在什么地方改啊?谢谢了

4.Re:让 mysql5.0 + DataSource 彻底接受中文---使用篇( 感谢mysql5.0 ) [Re: shunzi] Copy to clipboard
Posted by: elephi
Posted on: 2006-02-18 11:27

为什么不能用UTF?


   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