博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
41、java与mysql乱码的问题
阅读量:6977 次
发布时间:2019-06-27

本文共 1661 字,大约阅读时间需要 5 分钟。

解决方法一:(最重要的一种方法)

你看下my.ini,有无 
[]

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里面更改:

<filter>   

          <filter-name>UTFEncoding</filter-name>   
          <filter-class>com.founder.chenph.Util.EncodingFilter_UTF8</filter-class>   
          <init-param>   
              <param-name>encoding</param-name>   
              <param-value>UTF-8</param-value>   
          </init-param>   
      </filter>   
          <filter-mapping>   
          <filter-name>UTFEncoding</filter-name>   
          <url-pattern>*.jsp</url-pattern>   
      </filter-mapping>   
      <filter-mapping>   
          <filter-name>UTFEncoding</filter-name>   
          <url-pattern>*.do</url-pattern>   
      </filter-mapping> 

转载地址:http://ceupl.baihongyu.com/

你可能感兴趣的文章
《从零开始学Swift》学习笔记(Day 47)——final关键字
查看>>
linux下磁盘镜像软件DRBD的使用
查看>>
snort源码的详细分析
查看>>
揭开Annotation的面纱
查看>>
使用DPM2007备份还原Exchange2007邮箱数据库
查看>>
zabbix企业应用之监控oracle
查看>>
FOSCommentBundle功能包:设置Doctrine ODM映射
查看>>
[Web 开发] 定制IE下载对话框的按钮(打开/保存)
查看>>
无法访问D盘,执行页内操作时的错误
查看>>
我的家庭私有云计划-13
查看>>
转载:什么才是程序员的核心竞争力
查看>>
android:关于主工程和library project
查看>>
Windows 7 开发新特性
查看>>
在客户端调用MOSS的搜索服务,实现更加灵活的搜索控制
查看>>
C++:STL标准入门汇总
查看>>
1001: 整数求和
查看>>
How to develop Silverlight 4 using Visual Studio Express 2010
查看>>
浏览器前进后退对下拉框数据的丢失(省市联动实现和例子)
查看>>
构建安全的 ASP.NET 应用程序
查看>>
从源代码编译里程碑的 ICS ROM
查看>>