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 "转换异常";}
}
相关文档:
今天小编要和大家说的是handler的用法,希望对大家有所帮助。
HANDLER tbl_name OPEN [ AS alias ]
HANDLER tbl_name READ index_name { = | >= | <= | < } (value1,value2,...)
[ WHERE where_condition ] [LIMIT ... ]
HANDLER tbl_name READ index_name { FIRST | NEXT | PREV | LAST } ......
定义游标
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 ......
注:本文讨论的范围为未启用MAXDB模式的表!
今天建了一个表,里面有一个列是timestamp类型,我本意是在数据更新时,这个字段的时间能自动更新。岂知对这个类型的值还不甚了解,导致出错。发现这个字段只是在这行数据建立的时候有值,在更新的却无变化。
查找资料,发现是我 ......
mysql执行sql语句时有时会出现CR_COMMANDS_OUT_OF_SYNC错误(2014)
提示语为
commands out of sync; you can't run this command now
网上对此错误的描述很少,而且没有给出解决方法。
其实这是因为上一个sql执行返回了多个结果集,但没有把结果都取出来,就执行了新的sql语句,就会产生这个错误。
应在sql语句执行后 ......