关于hibernate的问题

zj_pht 2005-05-11 04:19:20
我参照网上的例子学习hibernate,用户mysql数据库,发现插入数据库地中文没有问题,但是从数据库中取出数据就不对了,都是???这样的,我不知道错在什么地方,为什么入库中文没有问题,取数据就不对了,大家帮忙
...全文
117 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
javaprogramlover 2005-05-12
  • 打赏
  • 举报
回复
楼主,你是自己写sql语句的吗?
charlie0895 2005-05-12
  • 打赏
  • 举报
回复
修改mysql的字符集设置是一个办法,但是这样除非,这个mysql就你这个系统,就你一个人用,否则,会给别人带来不便!
zj_pht 2005-05-11
  • 打赏
  • 举报
回复
问题已经解决,修改了mysql的配置文件my.ini中的字符集设置
zj_pht 2005-05-11
  • 打赏
  • 举报
回复
呵呵,我知道,我就是觉得每次都这样转换麻烦
charlie0895 2005-05-11
  • 打赏
  • 举报
回复
这个问题很容易解决呀
mysql默认的是"ISO-8859-1"
你存进去的时候,转成"ISO-8859-1",然后提出来的时候,在页面显示前在转一次
name = new String(name.getBytes("GBK"),"ISO-8859-1");
ui.setUsername(name);

String outName = ui.getUsername();
outName = new String(outName.getBytes("ISO-8859-1"),"GBK");
就ok了
zj_pht 2005-05-11
  • 打赏
  • 举报
回复
大家帮帮忙呀
zj_pht 2005-05-11
  • 打赏
  • 举报
回复
我用oracle始了,可以查出中文,但是当用中文做为条件进行查询时还是不对,生产的sql和hql如下
String hql = "from User where name='张三'";
Hibernate: select user0_.ID as ID, user0_.name as name0_, user0_.Room_ID as Room3_0_ from T_User user0_ where (user0_.name='????')
zj_pht 2005-05-11
  • 打赏
  • 举报
回复
我的意思能不能在配置文件里面进行配置,不要到处去转换了,不知道怎么配置
wumingwangzi 2005-05-11
  • 打赏
  • 举报
回复
学习下
ses127127 2005-05-11
  • 打赏
  • 举报
回复
其实这是mysql数据库的问题,如果你用的是sqlserver或oracle应该不会有问题
ses127127 2005-05-11
  • 打赏
  • 举报
回复
你在取数据时,必须把数据转换一下
zj_pht 2005-05-11
  • 打赏
  • 举报
回复
我发现要这样处理一下((User) lstUser.get(0)).getName().getBytes("ISO8859_1"),"GBK"),难得中文的都有这样搞一下,那不麻烦死了

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧