真头疼 终极乱码 。。。(MySQL5 + Hibernate)

首先是MySQL 5
我把SQL语句写入 一个schema.sql 文件中 ;

create ...
insert into XX values( '中文 ' ... );

然后新建一run-schema.bat
mysql -uroot < "D:\xxx.sql"

(一)
当设置MySQL默认编码是 latin1 时 执行正常,
但用Hibernate 执行查询时就显示乱码了:

从网上找的资料把 hibernate.cfg.xml 中添加 useUnicode=true&characterEncoding=utf8 时乱码依旧 。。

(二)
当把MySQL 设置成UTF8 编码时,执行run-schema.bat 导入 sql 语句时
MySQL 就报错 Data too long at column X 。。

然后从网上找的资料在sql 文件中添加
set names utf8;
依旧报错。 data too long 。。

再在 bat 文件中添加
mysql -uroot --default-character-set=utf8 < "D:xxx.sql"
.. 依旧 data too long 。。

(注:bat ,及 sql 文件都是用的 utf-8 编码方式)

在第一种情况中 把Hibernate从数据库中查询出的字符串从latin1 换到 utf-8 后能正常显示 ,不过每次都用String 转换也够麻烦的 有一劳永逸的方法吗 ?

查看全部
weixin_42198439
weixin_42198439
2008/06/15 13:51
  • hibernate
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

0个回复