mysql中文乱码问题的解决方法,经实际检验可以用的
网上的解决方法大多是要修改mysql配置文件,对我们不适合。jhost主页上看到篇文章,但里面说的驱动早就是老驱动了,怀疑他是从网上复制过来的老版本,不知是否能用。现在把我自己的解决方案贴出来,供大家参考,欢迎批评指正。
大家注意红色部分,废话不多说:
第一步:网页头设置:
<%@ page contentType="text/html; charset=gb2312" language="java"
import="java.sql.*" %>
第二步:request设置:
<%
request.setCharacterEncoding("gbk");
%>
第三步:bean中连接mysql代码设置:
MySqldriver = "com.mysql.jdbc.Driver";
MySqlURL = "jdbc:mysql://";
MySqlURL =MySqlURL+server+":"+port+"/"+dbname+"?user="+user+"&password="+pass+"&useUnicode=true&characterEncoding=utf8";
第四步:
汉字存入之前先g2i,取出汉字之后先i2g转换,然后就可以在jsp页面上正确显示了
其中g2i函数和i2g函数分别如下:
public static String g2i(String s0){
try{
return new String(s0.getBytes(),"ISO-8859-1");
}catch(Exception e){
return "转换异常";}
}
public static String i2g(String s0){
try{
return new String(s0.getBytes("ISO-8859-1"),"gb2312");
}catch(Exception e){
return "转换异常";}
}
相关文档:
定义游标
DECLARE cur_名称 CURSOR
FOR
SELECT 字段1,字段2,...字段n from 表 where 字段1=变量;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET 变量1=null,变量2=null;
OPEN cur_名称;
FETCH cur_名称 INTO 变量1,变量2...;
WHILE ( 变量1 IS NOT NULL) DO
&nbs ......
LAST_INSERT_ID
自动返回最后一个 INSERT 或 UPDATE 操作为 AUTO_INCREMENT 列设置的第一个发生的值. 参考这里
The ID that was generated is maintained in the server on a per-connection basis.
LAST_INSERT_ID是基于单个connection的, 不可能被其它的客户端连接改变。
可以用 SELECT LAST_INSERT_ID(); 查询LAST ......
注:本文讨论的范围为未启用MAXDB模式的表!
今天建了一个表,里面有一个列是timestamp类型,我本意是在数据更新时,这个字段的时间能自动更新。岂知对这个类型的值还不甚了解,导致出错。发现这个字段只是在这行数据建立的时候有值,在更新的却无变化。
查找资料,发现是我 ......
本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM 和 Innodb,文中设计的 MySQL 版本为 5.0.22。
目前 MySQL 支持的免费备份工具有:mysqldump、mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是 ......
备份MySQL数据库的命令
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > backu ......