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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java连接mysql数据库乱码的解决方案相关的知识,希望对你有一定的参考价值。

参考技术A

  解决方法一:

  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

java写入mysql数据库乱码

java写入mysql数据库乱码J
在java里还是正确的
到数据库里就乱码了

应该是中文乱码问题

可以加上编码格式的设置,同时保证与数据库编码格式一致。

参考技术A charset gbk;

以上是关于java连接mysql数据库乱码的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

jdbc连接mysq之serverTimezone设定

java使用c3p0连接mysql,写中文数据乱码的问题

hibernate mysql写入中文乱码 解决

mysq解决sleep进程过多的办法

java写入mysql数据库乱码

Kettle连接不上数据库及中文乱码问题解决