日期:2014-05-16  浏览次数:20642 次

向Mysql中插入中文时显示?号

首先说明原因,网上的一致答案就是字符集不配套

原因很简单,只要把字符集该一样就好了,可是从什么地方改呢。

个人整了两个下午,得出修改的步骤。

第一:设置程序中连接的语句:String url="jdbc:mysql://127.0.0.1:3306/drink_manage?useUnicode=true&characterEncoding=UTF8";

第二:数据库的字符集为utf8,每个表的字符集也为utf8。

第三:在c://program files/mysql/my,ini 打开这个配置文件 将default-character-set? 的值改为utf8,保存文件。

第四:打开mysql客户端。输入show variables like 'char%'; 看看字符集的设置情况。

这时除了character_set_server?character_set_database的值为latin,character_set_filesystem的值为binary。其他的值均为utf8。设置到这里我的问题就解决了,至于怎么设置serverdatabase的字符集,我也没有深究,有知道的可以告诉我。

下面是学习的几条mysql命令:

(1)show?variables?like?char%;

(2)\s;

(3)set?character_set_server=utf8;//这种修改字符集的方法在mysql重启后不能保存。

上面是一些经验之谈,可能不适合所有的人,不过只要你想改,最后肯定能改好。

<!--EndFragment-->