手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>Java技术>列表

JSP/JDBC MySQL乱码问题~~~

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
綠起:
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 测试,这次红字就会变成正常的黑字了.

上一篇: 在java调试中如何获得被装载类的实际路径
下一篇: 循序渐进学习JUnit

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!