当前位置: 首页 > 图文教程 > 网络编程 > JSP > MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结

JSP
我认为JSP有问题(上)
我认为JSP有问题(下)
jsp“抓”网页代码的程序
关于在bean里面打印html的利弊看法
bean里面如何打印到html页面
jdbc3中的RowSet 接口规范
Apusic Application Server1.0中jsp源代码泄漏漏洞
Unify的eWave ServletExec拒绝服务漏洞
通过提交超长的GET请求导致IBM HTTP Server远程溢出
在HTTP请求中添加特殊字符导致暴露JSP源代码文件
Resin 1.2 重要源代码暴露漏洞
多中WEB服务器的通用JSp源代码暴露漏洞
Tomcat 暴露JSP文件内容
IBM WebSphere Application Server 暴露JSP文件内容
JRun 2.3.x 范例文件暴露站点安全信息
BEA WebLogic 暴露源代码漏洞
IBM WebSphere Application Server 3.0.2 存在暴露源代码漏洞
Tomcat 3.1 存在暴露网站路径问题
Sun Java Web Server 能让攻击者远程执行任意命令
Netscape 修复 JAVA 安全漏洞

MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-03   浏览: 233 ::
收藏到网摘: n/a

文章首发于我的blog:
                   http://blog.csdn.net/dazern  
  解决这类问题的方法很多,今天在此简单的终结一下,把常碰到的问题解决方法记下来
1,    MySQL5.0中文问题解决方案如下:
    1、在dos环境下,用mysql --default-character-set=gbk -u root -p 这句话进入mysql~~
    2、建数据库、表,如下:
        create database admin;
        use admin;
        CREATE TABLE admin (
        admin_name char(20) NOT NULL,
        admin_password char(20) NOT NULL
        ) TYPE=MyISAM,
        default character set gbk; 

2,    JDBC的设置问题:(这里主要讲的是mysql-connector-java-3.1.8这个JDBC驱动程序而言)
         这只是一个压缩包,并不需要安装,只要将其解压,使用的是文件夹mysql-connector-java-3.1.8里的文件:mysql-connector-java-3.1.8-bin.jar.
    需要配置环境变量的是JDBC驱动.在配置前先要把刚才说到的mysql-connector-java-3.1.8-bin.jar放到本地硬盘某处(我放的地方:E:\JAVA\MySQLJDBC),然后根据你放的地方,配置classpath,我的配置是这样的:
.;E:\Java\j2se5.0\lib\tools.jar; E:\Java\j2se5.0\lib\mysql-connector-java-3.1.8-bin-g.jar; E:\JAVA\MySQLJDBC\mysql-connector-java-3.1.8-bin.jar
配置这个的目的是让你的java应用程序找到连接mysql的驱动.
    配置完环境变量后还有很重要一步就是为JSP连接数据库配置驱动,这个其实很简单,就是把mysql-connector-java-3.1.8-bin.jar拷到某些文件夹里就行了,我在网上看了很多资料问了很多人,各种说法都有,我综合了一下,为了保险,我都全做了,呵呵,反正就是拷一个400K的文件而已,现列出要把mysql-connector-java-3.1.8-bin.jar拷进去的文件夹,如下:
E:\Java\Tomcat5.0\common\lib
E:\Java\Tomcat5.0\shared\lib
   一般情况下只要考到Tomcat5.0上面的两个问题夹里面就可以解决问题了,如果需要,也可以将mysql-connector-java-3.1.8-bin.jar这个驱动文件拷贝到你的WEB站点的  …\WEB-INF\lib 目录下面。

3,    Eclipse中数据库插件中操作数据库时的中文编码问题:
当在Eclipse中装上来你所喜欢的数据库插件的时候,都会出现在你查询某一个数据库之后出现记录中的汉字乱码。解决方法很简单,
只要在你建立数据库连接的时候把URL设置成下面这个样子就可以了:
URL= jdbc:mysql://localhost:3306/?useUnicode=true&characterEncoding=GBK

4,    在JSP网页编辑中个人经验:在经过很多的次调试之后,发现在装了myeclipse之后,有这么条小巧:
①在用myeclipse编写HTML文件时charset=GBK设置成这个样子,那么在浏览器中浏览时就不会出现乱码;
②而在用myeclipse编辑JSP文件时,<%@ page contentType="text/html;charset=GB2312" %>设置成这样子,且这条语句必须是整个JSP文件的第一条语句,就可以避免JSP文件在浏览器中显示时出现乱码;
③对于如果在JSP网页中要从HTML页面中接收数据,那么在JSP中的接收语句的汉字编码应与数据来源的HTML的汉字编码相同;例如②中的HTML的汉字编码为charset=GBK,那么在JSP中的接收语句就应该这样设置:request.setCharacterEncoding("GBK");如果还要将接受的数据插入到数据库中(以插入MySQL5.0数据库为例),那么在插入数据库时的汉字编码也应与HTML文件中的汉字编码相同,我的设置如下:con= DriverManager.getConnection("jdbc:mysql://localhost:3306/sample_db?user=dazern&password=5201314&useUnicode=true&characterEncoding=GBK");这样设置后数据库中的数据才不会乱码.
以上经验都是在myeclipse3.8.3+Tomcat5.0.28中测试过,没有错误!在此仅供大家借鉴,具体情况还得具体分析!