首页 > 开发 > JSP > 正文

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

2020-02-05 13:34:51
字体:
来源:转载
供稿:网友
国内最大的酷站演示中心!

解决这类问题的方法很多,今天在此简单的终结一下,把常碰到的问题解决方法记下来!

  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中测试过,没有错误!在此仅供大家借鉴,具体情况还得具体分析!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表