Hibernate MySQL 中文乱码问题
Hibernate MySQL 中文乱码问题
环境:Hibernate 2.1.7 + MySQL4.1(MySQL的编码已设置为utf8)
问题:通过Hibernate向MySQL写入中文后,通过Hibernate取回数据,在console中打印java对象显示正常。但在MySQL Query Browser中看到的是乱码,传给前端的Flex也是乱码。
原因:Hibernate的基础还是JDBC,所以一样需要设置characterEncoding!
解决方法:
在hibernate.cfg.xml中应该这样写
<property name="connection.url">jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8</property>
如果用hibernate.properties
#hibernate.connection.url jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
ps:处理中文的话,characterEncoding用GBK一样可以。
但字节编码问题最好的解决方法还是统一使用UTF-8!!!
posted on 2005-06-10 21:35 板桥居 阅读(140) 评论(0) 编辑 收藏
另外一个blog还有详细的三种解决方法:http://www.cnblogs.com/josson/
Hibernate+mysql 中文问题解决方案.
1, mysql安装时设置字符集utf-8, jdbc驱动3.0.15以上.
2. hibernate配置文件中,加上属性
<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</property>
3. web.xml设置Filter
=================================================
<filter>
<filter-name>
Set Web Application Character Encoding
</filter-name>
<filter-class>cn.com.commnet.util.SetEncodeFilter</filter-class>
<init-param>
<param-name>defaultencoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>
Set Web Application Character Encoding
</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
=================
相关文档:
Java代码
mysql> select version(),current_date;
查询mysql的版本号 和 日期
mysql> select version();
查询mysql的版本号
select now();
查询当前日期和准确的时间
Java ......
在近期的项目维护工作中,时常出现主键重复的异常。经过一系列资料的查询之后,发现时hibernate映射文件配置问题。
mysql提供主键“自动增量”的配置,指定该类型的主键,mysql能够自动加一。
在hibernate映射文件中,关于主键的配置不能是
<generator class="increment"&g ......
一 UNION语法
代码 复制代码
SELECT ...
UNION [ALL | DISTINCT]
SELECT ...
[UNION [ALL | DISTINCT]
SELECT ...]
SELECT ... UNION [ALL | DISTINCT] SELECT ... [UNION [ALL | DISTINCT] SELECT ...]
UNION用于把 ......
一、MySQL基本命令集合:
1、 create database mydata;//创建数据库
2、 use mydata; //在mydata这个数据库下工作
3、 create table dept //在mydata数据库下创建表dept
(
deptno int primary key,
dname varchar(14),
loc varchar(13)
);
create table emp / ......