大家都用过hibernate吧,请教从网上看到某公司面试题,HIBERNATE在没有WEB的环境下如何解决中文乱码问题,指存入数据库时。 我不会,特来请教。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Hibernate 3.0 中,执行"from persion p where p.name = "上海""时候,上海这条hsql转成sql时变成乱码,数据库字符集是utf-8,请问如何解决。 把这个sql也转成utf8先吧String sql = new String("from persion p where p.name = '上海' ".getByte("UTF-8"),"UTF-8"); 此办法不行吧,如果中文很多呢,都用GETBYTE吗。麻烦死了啊5555555555肯定有类似过滤的技术存在的 楼主不要直接拼接字符串生成hql,请使用参数“?”或者命名参数(如“:name”)朝hql传值,直接拼接会有问题的,我就碰到过。至于问题细节原因就不得而知了,而使用参数传值则能正常执行。示例:String hql = "from Manufacturer as m where m.name = ?";Query query = session.createQuery(hql);query.setString(0, name);String hql = "from Manufacturer as m where m.address = :address";Query query = session.createQuery(hql);query.setString("address", address); Collection接口为什么没有get()方法? 求教:什么是java的复合类 怎么分割字符串???? javax.swing.*相关问题 一个关于抽象工厂的问题 请问〉在for语句中定义变量哪一个更好些? 怎样得到当前第二天的日期?? 怎样得到系统字体? 我想列出一个目录下的所有文件但是却抛出了空指针异常,请帮我看看 关于System.arraycopy效率的质疑 Java中使用信号量比使用synchronized有什么优点? 一道 Java 面试题
String sql = new String("from persion p where p.name = '上海' ".getByte("UTF-8"),"UTF-8");
至于问题细节原因就不得而知了,而使用参数传值则能正常执行。
示例:String hql = "from Manufacturer as m where m.name = ?";
Query query = session.createQuery(hql);
query.setString(0, name);
String hql = "from Manufacturer as m where m.address = :address";
Query query = session.createQuery(hql);
query.setString("address", address);