日期:2014-05-18  浏览次数:20657 次

向mysql中插入中文问题
数据库连接:
  String   con= "jdbc:mysql://localhost/addressbook?useUnicode=true&characterEncoding=UTF-8 ";
我把mysql的my.ini文件中的default-character-set地方改成了
default-character-set=utf8
然后重起mysql
但我再向数据库中插入中文时
pStmt.executeUpdate();就通不过了。
这是什莫原因呢。



------解决方案--------------------
你的jsp页面也是utf-8编码吗?
------解决方案--------------------
<%@ page contentType= "text/html; charset=utf-8 " language= "java " %>
...............................
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=utf-8 " />
...............................
------解决方案--------------------
我也遇到过这种情况
安装mysql时用的latin字符集
后来想改utf-8,没成功(没继续研究)
只有重装了,安装时选utf-8编码


------解决方案--------------------
把你的中文用这句话试试
java.net.URLEncoder.encode( "中文 ",UTF-8 ")
应该就可以了
------解决方案--------------------
原因:
1.创建数据库时没有指定默认的编码方式,导致数据库使用了MySql的默认字符集latin1。
2.Client端字符集为latin1.
3.进行jdbc链接时使用了不匹配的字符集。
解决办法:
1.创建数据库时将数据库的缺省字符集指定为utf8。sql语句没查到...
2.修改Client默认字符集为utft。windows下在mysql安装目录下找到my.ini,将里面的default-character-set=latin1 改为default-character-set=UTF8,然后重起mysql服务即可将数据库默认字符集改为utf8.此时应该在mysql命令行用\s命令检查一下看是否改好了。
3.修改jdbc的链接,将原来的
jdbc:mysql://localhost:3306/YourDb
改为
jdbc:mysql://localhost:3306/YourDb?useUnicode=true&characterEncoding=UTF-8

做完以上工作后,插入到mysql的中文应该不会再是乱码了.

------解决方案--------------------
default-character-set在my.ini文件中有两处的

------解决方案--------------------
[mysqld]
character-set-server=utf8
------解决方案--------------------
mysql 建表的时候 跟上字符集 DEFAULT CHARSET=utf8