|
最近趁着下岗没事干,学了一点JSP,鼓弄了半天终于连上了MYSQL,不过发现从MYSQL中搜索出的中文显示不了.全他妈是???.上网搜了一下发现MY SQL中不支持UNICODE只支持ISO-88591,于是天才的我想出了解决的办法:)把搜索出来的字符串转成字节数组,然后用这个字符数组创建一个GB2312的字符串. <%=new String(rs.getString(2).getBytes("iso8859-1"),"gb2312")%> 反正很简单我也不过多解释. 下面附上所有代码. 可能有的人不知道怎么用JSP连接数据库. 其中people 是数据库的名称 root 是用户名 000000 是密码 另外需要一个mysql的jdbc驱动.我用的是:mysql-connector-java-3.0.15-ga-bin.jar 网上到处可以找到,只需要把这个文件下载下来放在你这个jsp文件所在的目录中\WEB-INF\lib下就可以了. =========================testmysql.jsp========================= <%@ page contentType="text/html; charset=GBK" %> <%@ page language="java" import="java.sql.*"%> <% java.sql.Connection conn; java.lang.String strConn; Class.forName("org.gjt.mm.mysql.Driver"); conn= java.sql.DriverManager.getConnection("jdbc:mysql:///people","root","000000"); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM t_1"); %> <% for(int i=0;rs.next();i++){ %> <%=new String(rs.getString(2).getBytes("iso8859-1"),"gb2312")%> <br> <%}%> ===========================表的结构============================== # -------------------------------------------------------- # # 表的结构 `t_1` # CREATE TABLE `t_1` ( `id` int(4) NOT NULL default ''''0'''', `name` char(20) NOT NULL default '''''''', `phone` int(20) default NULL, PRIMARY KEY (`id`) ) TYPE=MyISAM; # # 导出表中的数据 `t_1` # INSERT INTO `t_1` VALUES (1, ''''我不是'''', 2147483647); INSERT INTO `t_1` VALUES (2, ''''猪'''', 2147483647); ===================================================================== OK,写完了....懂的人看起来肯定很简单,
[MySql]PHP存取 Mysql 数据乱码终极解决方案 [MySql]解决Table xxx is marked as crashed and should … [MySql][MySQL]快速解决"is marked as crashed and shoul… [MySql]MySQL DELETE语法用法详解 [MySql]mysql中时间日期格式化 [MySql]修改mysql导入文件大小限制 [其他]MySql常用命令大全 [Web开发]把ACCESS的数据导入到Mysql中的方法详解 [MySql]解决mysql 1040错误Too many connections的方法 [系统软件]利用crontab系统每天定时备份MySQL数据库
|