java连接mysql数据库乱码的解决方案

Python021

java连接mysql数据库乱码的解决方案,第1张

解决方法一:

mysql安装时候的编码

看下my ini 有无

[mysql]

default character set=utf

[client] default character set=utf

[mysqld] default character set=utf 创建表的时候设置

DROP   TABLE   IF   EXISTS   `Company`CREATE   TABLE   IF   NOT   EXISTS   `Company` (     `Cname`   VARCHAR( )   NOT   NULL     `Caddr`   VARCHAR( )     `Ctel`     VARCHAR( ) )ENGINE=InnoDB   DEFAULT   CHARSET=UTF jsp标头

<%@ page language="java" import="java util *" pageEncoding="UTF "%>不行的话就尝试

contentType="text/charset=gb " 解决方法二

连接mysql时(无论在从mysql读还是取数据的情况) 指定使用的编码方式为utf 具体代码如下

//装载mysql jdbc驱动

Class forName(" mysql jdbc Driver") newInstance()

//连接数据库

Connection sqlCon = DriverManager getConnection( "jdbc:mysql://localhost: /test?user=root&password= &useUnicode=true&characterEncoding=utf " )解决方法三

如果方法一不行那么在方法一的基础上对读入的字符串进行强制编码方式转换

String name = request getParameter("name")name= new String(name getBytes("ISO ") "utf ")或者

String name =new String( rst getString("name") getBytes("ISO ") "utf "))解决方法四

这个方法在有些文章里是首推的 我首先也是试了这个方法 但是好像不行 这里还是说一下 不知是不是 *** 作错误 还是先贴原文吧

"如果数据库中有中文的话而mysql默认的语言不是中文时要在配置文件C:winntmy ini 中的 [mysqld] 里添加一行

default character set=utf

然后重起mysql

方法五 在tomca或者web项目下的web xml里面更改

<filter>   <filter name>UTFEncoding</filter name>     <filter class>founder chenph Util EncodingFilter_UTF

lishixinzhi/Article/program/Java/JSP/201311/20273

1.下面代码是使用jdbc直接来链接mysql的操作,方式与SQL SERVER类似,区别在于加载的驱动不同,url的设置也有点区别。

2.执行脚本返回的结果,可以看出java成功链接上mysql并获取到返回值

3.mysql-connector-java-5.1.26-bin.jar是java链接mysql使用的jar包,与SQL SERVER链接也有专门的jar包,jar包中包含了java链接mysql所用到的函数驱动等等,所有的jar包都是放到web工程lib目录下

4.如果工程是整合在ssh下,一般情况下都会有一个properties文件,该文件配置了数据库链接常用的命令,下图是mysql中的配置

5.使用spring框架下进行的测试,结果可以成功执行,无论是sql server还是mysql还是其他的数据库,基本功能都一样,只是语法结构有所区别,java在调用的过程中大部分功能只要切换了数据库链接命令就可以公用,如果系统架构设计的足够好,切换数据库的时候,应用程序是不用调整就能兼容的

在String

value

=

rs.getString("name")

之前要先rs.next()一下

你用这个来判断密码错误?

if(!rs.isBeforeFirst()){

JOptionPane.showMessageDialog(frame,

"Wrong

password!")

}

isBeforeFirst()

的意思是:获取光标是否位于此

ResultSet

对象的第一行之前。