hibernate向MYSQL插入数据的乱码问题

我是命令linux命令行下的,我在向数据库插入数据的时候出现乱码。于是我在hibernate.cfg.xml中配置了useUnicode=true和characterEcoding=utf-8,但是再次插入到数据库中的时候,显示无法插入。不知道是什么原因,求怎么解决MySQL中的这类中文乱码、有的人说是我在安装mysql的时候.在编码格式选择上面有错,但是我在安装的时候,,根本就没提示我选择什么编码格式.请问这种问题怎么解决.

其他办法
数据库连接串中指定字符集URL=jdbc:mysql://yourIP/college?user=root&password=yourPassword&useUnicode=true&characterEncoding=gbk

在创建数据库时指定字符集create database yourDB CHARACTER SET gbk;

如果你确定是插入数据库时乱码而不是之前的数据就是乱码我这有收藏解决MySQL乱码的解决方法
(1)修改 my.ini(MySQL Server Instance Configuration 文件)# CLIENT SECTION[client]port=3306[mysql]default-character-set=gbk# SERVER SECTION[mysqld]default-character-set=gbk
(2)修改data目录中相应数据库目录下的db.opt配置文件default-character-set=gbkdefault-collation=gbk_chinese_ci

[quote]有的人说是我在安装mysql的时候.在编码格式选择上面有错,但是我在安装的时候,,根本就没提示我选择什么编码格式.请问这种问题怎么解决.[/quote]

有的,但是它不是让你选择编码,而是给出选项,

[quote][color=red]选择默认字符集,这里非常关键,默认是Standard Character Set,而我们必须将它改成第二个选项Best Support For Multilingualism(对多语言的最佳支持)!因为本系统数据库编码采用UTF-8,默认编码不同可能导致数据乱码。[/color][/quote]

你重新安装一遍试试,在选择mysql默认端口的下一步骤,就是选择数据库编码的时候!按照上面说明做吧,就可以正确设置为utf8

重新安装是最好的解决方法!

其他方式可以参考我博客上的文章:

[url]http://playfish.iteye.com/blog/186293[/url]

mysql设置编码命令

SET character_set_client = utf8;
SET character_set_connection = utf8;
SET character_set_database = utf8;
SET character_set_results = utf8;/*这里要注意很有用*/
SET character_set_server = utf8;

SET collation_connection = utf8_bin;
SET collation_database = utf8_bin;
SET collation_server = utf8_bin;

my.ini中配置默认编码
default-character-set=utf8

连接数据库设置编码
jdbc:mysql://192.168.0.5:3306/test?characterEncoding=utf8

/*****************************************java与mysq编码对应****************************************/
java中的常用编码UTF-8;GBK;GB2312;ISO-8859-1;
对应mysql数据库中的编码utf8;gbk;gb2312;latin1

我觉得java中输出数据库中数据问乱码时,不会是java跟数据库这层的问题,因为假设java跟数据库交互时,是会自动告诉数据库java本身用的什么编码,然后自动转码的。但是,从数据库的到中文数据后,想要正确显示,那必须要显示声明编码。
因为java对显示层默认输出iso-8859-1,但这个编码是不能映射中文的。
你可以加句resposne.setencoding("GBK")或者utf-8之类的,来页面用正确的编码来映射中文,解决问题。