日期:2014-05-19  浏览次数:20609 次

真心 不想 折腾了 谁告我 我睡了 希望明天醒来就解决了

数据库连接 使用的是
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/udb_yangdc?useUnicode=true&characterEncoding=UTF-8";
con=DriverManager.getConnection(url,"***","***");
...

在java代码中直接执行 

Java code


String sql = "INSERT INTO  `udb_yangdc`.`AliceChat` (    `ChatId` ,`content` ,    `name` ,`nameID` ,`time`)VALUES(NULL ,' fghfg到过','Ydc00','null','2012-10-28 4:29:24')";

代码 其中的 中文 到数据库中就乱码了 00..

什么问题 呢  

服务器: localhost via TCP/IP
用户: root@localhost
MySQL 字符集: UTF-8 Unicode (utf8)
MySQL 连接校对:  


校对 属性 Null 默认 额外 操作
ChatId int(11) 否 auto_increment
content text utf8_unicode_ci



------解决方案--------------------
我靠,楼猪睡觉好晚啊,话说没用过MySql,所以不知道你的url写的有没有错误,但是你的字符串里怎么还有分号啊?
------解决方案--------------------
把这个:String url="jdbc:mysql://localhost:3306/udb_yangdc?useUnicode=true&characterEncoding=UTF-8";改为:
String url="jdbc:mysql://localhost:3306/udb_yangdc?useUnicode=true&characterEncoding=UTF-8";
你不是在xml中,不需要转义的。
------解决方案--------------------
你不用JAVA,直接在mysql中执行呢
------解决方案--------------------
Mysql中的utf-8编码设置不用加“-”,直接写utf8.
还有,“&”这个符号,如果是在xml文档中,需要写成 & 
在java中直接写&就可以了
------解决方案--------------------
2楼说的对,另外检查一下你数据库中建表时指定的字符集,这个也有很大关系
------解决方案--------------------
mysql客户端用gbk编码方式,
改my.ini里的
[mysql]
 
 default-character-set=gb2312
------解决方案--------------------
你是在cmd命令行下看的吧,因为cmd使用GBK编码的,你要看utf-8的内容,肯定乱码啊,你可以再用程序读出来看了还乱码吗
------解决方案--------------------
String url="jdbc:mysql://localhost:3306/udb_yangdc?useUnicode=true&characterEncoding=UTF-8";
MySQL 字符集: UTF-8 Unicode (utf8)
 那就只java传值部分已经乱码了 ,
你写一个死的sql增加语句 里面有中文值,测试一下
------解决方案--------------------
楼主请改String url="jdbc:mysql://localhost:3306/udb_yangdc?useUnicode=true&characterEncoding=UTF-8";

为:String url="jdbc:mysql://localhost:3306/udb_yangdc?useUnicode=true&characterEncoding=UTF8"

如果解决不了的话,请到你mysql的安装文件中招到my.cnf文件,然后打开,添加default-character-set=utf8
------解决方案--------------------
楼主 关键是 你建表的时候 表的编码方式你设为utf8了吗了吗?
------解决方案--------------------

首先定位问题:
1、首先确定你的数据库字符集是否正常,这个在数据库里面添加一条带有汉字数据既可验证出来;
如果数据库里面显示汉字不正常,一般是这个问题,mysql乱码多数是数据库的问题(如果是这个问题就自己google一下)
:修改数据库的字符集
mysql>use mydb
mysql>alter database mydb character set utf-8;
创建数据库指定数据库的字符集
mysql>create database mydb character set utf-8;

通过配置文件修改:
修改/var/lib/mysql/mydb/db.opt
default-character-set=latin1
default-collation=latin1_swedish_ci

default-character-set=utf8
default-collation=utf8_general_ci
重起MySQL:
[root@bogon ~]# /etc/rc.d/init.d/mysql restart

通过MySQL命令行修改:
mysql> set character_set_client=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_connection=utf8;
Query OK, 0 rows affected (0.00 sec)