mysql存入中文乱码
2015-06-13 10:19
483 查看
1、代码
public static void BatchUpdate(){
String hqlUpdate="update User set username=? where username like ?";
Session session=HibernateUtil.getSession();
Transaction tx=session.beginTransaction();
Query query=session.createQuery(hqlUpdate);
query.setParameter(0, "马克");
query.setParameter(1, "%mk%");
int updateCount=query.executeUpdate();
tx.commit();
HibernateUtil.closeSession();
log.info("============更新记录条数:"+updateCount+"=============");
}
2、mysql数据库
字符集utf8 -- UTF-8 Unicode
排序规则utf8_general_ci
3、数据库链接驱动也要设置编码
jdbc:mysql://localhost:3306/tablename?useUnicode=true&characterEncoding=utf8
hibernate.cfg.xml里这样写
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/tablename?useUnicode=true&characterEncoding=utf8</property>
mysql本身要设置好编码,这样才能按你的编码存数据。然后要通过jdbc驱动告诉jvm以指定的编码存数据
java本身是unicode的,如果驱动那里不设置,会按你平台的默认字符集,一般是gbk
p.s.工程text file encoding编码方式是utf8。Java虚拟机要正确加载代码里面的中文,就需要你告诉它应该以什么样的编码方式。
所以jdbc驱动告诉jvm存数据的编码方式和文本编码本身就是两码事
oracle,SQL server待续。。。
http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/
public static void BatchUpdate(){
String hqlUpdate="update User set username=? where username like ?";
Session session=HibernateUtil.getSession();
Transaction tx=session.beginTransaction();
Query query=session.createQuery(hqlUpdate);
query.setParameter(0, "马克");
query.setParameter(1, "%mk%");
int updateCount=query.executeUpdate();
tx.commit();
HibernateUtil.closeSession();
log.info("============更新记录条数:"+updateCount+"=============");
}
2、mysql数据库
字符集utf8 -- UTF-8 Unicode
排序规则utf8_general_ci
3、数据库链接驱动也要设置编码
jdbc:mysql://localhost:3306/tablename?useUnicode=true&characterEncoding=utf8
hibernate.cfg.xml里这样写
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/tablename?useUnicode=true&characterEncoding=utf8</property>
mysql本身要设置好编码,这样才能按你的编码存数据。然后要通过jdbc驱动告诉jvm以指定的编码存数据
java本身是unicode的,如果驱动那里不设置,会按你平台的默认字符集,一般是gbk
p.s.工程text file encoding编码方式是utf8。Java虚拟机要正确加载代码里面的中文,就需要你告诉它应该以什么样的编码方式。
所以jdbc驱动告诉jvm存数据的编码方式和文本编码本身就是两码事
oracle,SQL server待续。。。
http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/
相关文章推荐
- 记录下mysql的一些常识
- mySQL远程访问
- mysql表格拆分总结
- mysql中的comment用法
- mysql 的表名和列名设计时应该注意的一个问题
- MySQL+DRBD+heartbeat+LVS+keepalived
- php操作mysqli(示例代码)
- Mysql 分区 ------ Innodb 表引擎
- MySQL Server 5.5.44免安装版配置详解
- Mysql存储过程
- mysql学习笔记_函数
- mysql 编码测试
- mysql delimiter
- mysql 求时间段平均值
- mysql格式化操作
- mysql Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
- mysql字符集
- mysql 内连接 左连接 右连接 外连接
- mysql 聚集函数和分组
- Ubuntu 安装mysql和简单操作