JSP/JDBC MySQL乱码问题~~~
发表于:2007-07-04来源:作者:点击数:
标签:
JSP的request 默认为ISO8859_1,所以在处理中文的时候, 要显示中文的话,必须转成GBK的,如下 String str=new String(request.getParameter(name).getBytes(ISO8859-1),GBK); out.println(str); 这样就可以显示中文了 MYSQL操作时的中文问题: 这个要看 MyS
JSP的request 默认为ISO8859_1,所以在处理中文的时候,
要显示中文的话,必须转成GBK的,如下
String str=new String(request.getParameter("name").getBytes("ISO8859-1"),"GBK");
out.println(str);
这样就可以显示中文了
MYSQL操作时的中文问题:
这个要看
MySQL的默认编码了,一般不调整的话为latin1其实和ISO8859_1一样,所以操作的时候要处理和他一致,不然就会乱码的
1.插入中文:
String sql2="INSERT INTO test (name) VALUES(''"+request.getParameter("name")+"'')";
stmt.executeUpdate(sql2);
不用编码就可以插入了
2.显示插入的中文:
因为存入的是latin,所以显示的时候就要GBK一下
String x=new String((rs.getString("title")).getBytes("ISO8859_1"),"GBK");
out.println(x);
3.设定存储编码:
当然在MySQL为latin1编码时,也可以存的时候用GBK了
Connection con=DriverManager.getConnection("jdbc:
mysql://localhost:3306/jsp?useUnicode=true&characterEncoding=GBK","root","");
str1="中文";
String sql2="INSERT INTO test (name) VALUES(''"+str1+"'')";
这样也可以很成功的插入了,呵呵
PS:老是忘记这个了~~~做个记号
Q:JBuilder如何安装JDBC driver
A:首先,取得
数据库的JDBC的驱动,如
Oracle的叫 Class12.zip,解开了一般都会包含一个jar的包,把该包或者多个文件加入到JBuilder的Library中。在工程属性中指定使用该文件。以上完成的其实就是把该文件增加到工程的ClassPath中去 ,如果大家还不明白可以参看JBuilder的帮助文件 ,如果你是用的是
Borland的数据库组件可以参看JBuilder光盘中的文档。
你可以在点选 JBuilder 选单 Tools-->Enterprise Setup-->Database drivers. 建立一个新的 Library 里面包含此 JDBC Driver 的 xxx.jar ,将您的 JDBC Driver xxx.jar 置于某个不含 Space 的路径 (例如 C:\JBuilder7\Lib\xxx.jar) 后按对话框中左下角 New 按钮,出现 New Library Wizard 对话框为该 JDBC Driver Library 命名,接着将C:\JBuilder7\Lib\xxx.jar加到Library Path 内.完成后按下 OK,结束 New Library Wizard 对话框.若该 JDBC Driver 有包含原始程序代码及
JavaDoc , 在Configure Libraries 对话框右方一并加入. 完成后重新激活 JBuilder.激活 Database Pilot
测试,这次红字就会变成正常的黑字了.
原文转自:http://www.ltesting.net