首页
登录 | 注册

java与mysql乱码的问题

解决方法一:(最重要的一种方法)
你看下my.ini,有无
[mysql]

default-character-set=utf8

[client]
default-character-set=utf8

[mysqld]
default-character-set=utf8
然后建立表时,也要用(比如)
DROP   TABLE   IF   EXISTS   `Company`;
CREATE   TABLE   IF   NOT   EXISTS   `Company`
(
    `Cname`   VARCHAR(10)   NOT   NULL,
    `Caddr`   VARCHAR(100),
    `Ctel`     VARCHAR(16)
)ENGINE=InnoDB   DEFAULT   CHARSET=UTF8;
这样就没问题。

如果是jsp要声明:
contentType="text/html;charset=gb2312"


解决方法二:

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

//装载mysql-jdbc驱动

Class.forName("com.mysql.jdbc.Driver").newInstance();

//连接数据库

Connection sqlCon = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test?                         user=root&password=1&useUnicode=true&characterEncoding=utf-8" );


解决方法三:

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

 

代码示例如下:

String name = rst.getString("name");
name= new String(name.getBytes("ISO-8859-1"),"utf-8");

注:代码也可以为:String name =new String( rst.getString("name").getBytes("ISO-8859-1"),"utf-8"));其中rst为返回的resultset,ISO-8859-1为mysql默认的编码方式,代码的目的是把以ISO-8859-1的编码转换为gb2312编码方式,这样强制转换,可以解决一部分问题,如果结合方法一,应该可以解决中文乱码问题。


解决方法四:

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

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

default-character-set=utf-8

然后重起mysql


方法五:在tomcat conf  里面的web.xml里面更改:

   


UTFEncoding

     com.founder.chenph.Util.EncodingFilter_UTF8

        
            
              encoding  
              UTF-8  
         
   
   
            
          UTFEncoding  
          *.jsp  
     
  
        
          UTFEncoding  
          *.do  
     
 


相关文章

  • JAVA连接MySQL数据库,在操作值为0的timestamp类型时不能正确的处理,而是默认抛出一个异常,就是所见的:java.sql.SQLException: Cannot convert value '0000-00-00 00:00 ...
  • /** * 单独的java程序连接mysql数据库 * author:JavaAlpha * date :2011-3-31 20:48:28 * IDE:EmEditor Version 9.16 */   import java.sql ...
  •  更多Java培训.Java视频教程学习资料,请登录尚硅谷网站下载:www.atguigu.com  ?1. 背景及目标? 厦门游家公司(4399.com)用于员工培训和分享.? 针对用户群为已经使用过mysql环境,并有一定开发经验的工程 ...
  • package com.kevin.mysql;/** mysql 插入blog的例子* */import java.io.*;import java.sql.*;                                       ...
  • package dg.tool; import java.sql.*; public class SqlOperation {   /**设置数据库连接用户名*/   private String userName = "root ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.013 s.
京ICP备10005923号