分页: 1 / 1

[原创] ubuntu 7.10 + MySQL + Hibernate 插入中文数据乱码,完美解决```

发表于 : 2007-11-12 1:00
tiger.yy
:D ubuntu7.10用了几天了,感觉不错,唯一的遗憾就是那该死的QQ一直得不到完美的解决,用wine+QQ2007ii的效果不是很理想,总是卡死,或者重启,希望有解决办法的兄弟回复我一下,先说声谢谢,好了闲话少说,进入主题.
我用的是tomcat5.5 + struts1.2 + spring2.0 + hibernate3.1 + myeclipse5.5 + MySQL 做的开发,一开始我也被用hiber插入中文字符是乱码的问题困扰,google,baidu被我翻遍了,还是得不到解决,最后终于碰到了死耗子```呵呵``
下面简单说一下:
1.先将jsp页面的字符编码设置成gb2312 like this:<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
2.在MySQL中建表的时候(我用的MySQL Administrator)点create table会出来一个table editor的对话框,框上有3个table panel第一个是你设计表的,我们先选中第二个table options有个character set选中gb2312的那一项,下面的collation就选gb2312_chinese_ci,好了下面建表,建完后先不急着apply changes,选中你要插入中文数据的那个字段,看到下面又有一个character set跟开始一样选gb2312的那一项,下面一行的collation也同上,ok,如果你有多个要插入中文的字段的话,每个都要这样设置一下,ok可以apply了,有时候apply可能会不成功,说什么不能建表,你的SQL语句有错之类的,那是因为你的字段没有设置字符长度like this:VARCHAR(100).好了启动tomcat,在hiber中插入到MySQL中的中文字符应该不是乱码了,各位如果还有什么疑问欢迎回帖提出来,大家一起研究.

发表于 : 2007-12-06 9:54
zyyffs
系统:ubuntu 7.10 Mysql 5.0 netbeans6.0
在终端查询表数据时出现中文乱码,在neabeans6.0内用jsp调用数据库内容时也出现乱码。
查过资料:说在my.cnf文件中的[client]段和 [mysqld]段加上以下两行内容: [client] default-character-set=utf8 [mysqld] default-character-set=utf8.需要重启mysql服务 停用:sudo mysqladmin shutdown -u root -p然后输入mysql的root用户的密码 启用:sudo mysqld_safe -user=mysql &即可
问题:1,如何把mysql的默认编码改为utf8;
2,my.cnf文件的路径在哪?
3,我的jsp文件<%@ page contentType="text/html" pageEncoding="UTF-8"%>配置都正确,也用String S = new String(name.getBytes("UTF-8"),"ISO-8859-1");强制转换过编码,但还是不行。
望高手指点一二,感激不紧!

发表于 : 2008-04-18 11:15
wangzi6hao
关于mysql改utf-8的贴子,论坛上很多了
那个my.cnf的,你可以到/etc/init.d/mysq找一下,或者是/etc/mysql下看看,具体的我忘记了,你可以用find找一下.反正配置文件在/etc下面

至于java乱码,我一般更喜欢全部用utf-8,从页面action到javabean里的话,你可以实现一个filter在web.xml里,把所有的request和response全部转成utf-8就可以了.

tomcat5.5的话,你需要再去修改一下server.xml还是web.xml文件下的url=utf-8参数.这样utf-8传值的时候就不会乱码了.这是我做java乱码的经验.呵呵

发表于 : 2008-04-25 8:49
走刀口→超
还有个就是数据库链接的代码了。
在这上面也可以加上字符的编码。

具体我忘了,一般链接的方式是jdbc:mysql://localhost:3306/mysql

现在给他设置个编码:

jdbc:mysql://localhost:3306/admin?characterEncoding=UTF-8

我以前是用过这个的。呼呼。

具体不太记得了。。。呼呼。

发表于 : 2008-05-01 8:16
wlh86618
我也在用administrator,这个问题很常见,感谢~

发表于 : 2008-05-08 21:22
spiritfrog
这种问题不关ubuntu什么事情吧,标题得改改了。
首先需要统一字符编码, 比如utf-8;
数据库url可以设定编码characterEncoding=UTF-8
jsp页面指定页面是utf-8;
加入filter, request的字符编码也是utf-8
数据库创建的时候,选择gb2312_chinese_ci,能正确看到中文就行