zoukankan      html  css  js  c++  java
  • MySql中插入乱码问题解决

      今天在使用Java写入数据库时候,发现Insert语句和Update语句在执行过后,数据库中中文显示的是“??”,经过一番查阅,其中关键的问题在于编码格式是否统一。

      其中创建表时候,每个关键字的格式都设置为统一的,这里我设置为utf8如图:

      

      然后会发现,在数据库中,执行sql语句时,不会发生乱码,但是在使用Java调用的时候,就会乱码,其实原因也是这样,在连接数据库时,我们需要定义编码格式,大家看代码就明白了,当编码格式全部统一为utf8时候,就不会出现乱码了。

      

    1 Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    2             //mydatabase为数据库名,_test为表名。_test表中有三个字段:id name author publish
    3             con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase?characterEncoding=utf8","root","123456");

      其中编码格式的设定就是{?characterEncoding=utf8}这句话。

      (另外一个就是导入数据时候也发生了乱码现象,解决办法如下:)  

    MySql中默认的数据库编码集都不是utf-8的,所以在导入数据表的时候有中文会报错,这时候就新建一个自己的数据库,选择编码格式为utf8,排序集则选择utf8-Unicode,然后再导入数据就可以了。

      参考:http://www.cnblogs.com/time-is-life/p/5901868.html

      修改默认字符集:http://www.cnblogs.com/xingyunblog/p/3836299.html

      (仅供参考学习)

  • 相关阅读:
    c# 对文件操作
    c# 获取当前绝对路径
    c# 过滤特殊字符
    c# txt代码转换成HTML格式
    c# 对象集合转Json
    c# DataReader转换为Json
    c# DataSet转换为Json
    ABAP-SAP的LUW和DB的LUW的区别
    ABAP-关于隐式与显式的DB Commit
    ABAP-Keyword Documentation
  • 原文地址:https://www.cnblogs.com/cnyulei/p/6731025.html
Copyright © 2011-2022 走看看