• 微软原版系统

  • 一键重装系统

  • 纯净系统

  • 在线技术客服

魔法猪系统重装大师 一键在线制作启动 U 盘 PE 系统 用一键重装的魔法拯救失去灵魂的系统
当前位置:首页 > 教程 > 电脑教程

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

时间:2015年04月02日 15:21:48    来源:魔法猪系统重装大师官网    人气:15122
前往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标头:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

不行的话就尝试:

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 = request.getParameter("name"); 
name= new String(name.getBytes("ISO-8859-1"),"utf-8"); 

或者:

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

解决方法四: 

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

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

default-character-set=utf-8 

然后重起mysql 

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

   
UTFEncoding 
     com.founder.chenph.Util.EncodingFilter_UTF8 

        
             
              encoding   
              UTF-8   
             
   
             
          UTFEncoding   
          *.jsp   
         
         
          UTFEncoding   
          *.do   
       
java,连接,mysql,数据库,乱码,的,解决方案,前往
栏目:电脑教程 阅读:1000 2023/12/27
Win7教程 更多>>
U盘教程 更多>>
Win10教程 更多>>
魔法猪学院 更多>>

Copyright © 2015-2023 魔法猪 魔法猪系统重装大师

本站发布的系统仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件。

在线客服 查看微信 返回顶部