问题描述:
改为UTF8之后,重新进入mysql,它又自动改回latin1
有个方法很简单,在连接url后加上如下代码即可:
?useUnicode=true&characterEncoding=UTF-8
特别注意,两个属性之间一定要用&符号的转义符,且不能带空格,否则会报错。
例子如下 hibernate.cfg.xml配置文件:
<?
xml
version
=
'1.0'
encoding
=
'UTF-8'
?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
<!-- Generated by MyEclipse Hibernate Tools. -->
<
hibernate-configuration
>
<
session-factory
>
<
property
name
=
"dialect"
>
org.hibernate.dialect.MySQLDialect
</
property
>
<
property
name
=
"connection.url"
>
</
property
>
<
property
name
=
"connection.username"
>root</
property
>
<
property
name
=
"connection.password"
>accp</
property
>
<
property
name
=
"connection.driver_class"
>
com.mysql.jdbc.Driver
</
property
>
<
property
name
=
"myeclipse.connection.profile"
>ssh</
property
>
<
property
name
=
"show_sql"
>true</
property
>
<
property
name
=
"format_sql"
>true</
property
>
<
mapping
resource
=
"cn/lihuoqing/po/ShUser.hbm.xml"
/>
<
mapping
resource
=
"cn/lihuoqing/po/ShOptions.hbm.xml"
/>
<
mapping
resource
=
"cn/lihuoqing/po/ShFiles.hbm.xml"
/>
<
mapping
resource
=
"cn/lihuoqing/po/ShComments.hbm.xml"
/>
<
mapping
resource
=
"cn/lihuoqing/po/ShDown.hbm.xml"
/>
</
session-factory
>
</
hibernate-configuration
>
=================================
1 修改数据库级
a. 临时更改:
mysql>SET GLOBAL character_set_database=utf8;
b. 永久更改:
改了服务器级就可以了
2.修改表级
mysql>ALTER TABLE table_name DEFAULT CHARSET utf8;
更改了后永久生效
3.修改列级
修改示例:
mysql>alter
table `products` change `products_model` `products_model` varchar( 20 )
character set utf8 collate utf8_general_ci null default null;
更改了后永久生效
4.更改连接字符集
a. 临时更改:
mysql> set names utf8;
b. 永久更改:
修改my.ini文件 (linux 为my.cnf)
从my.ini下手
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
linux 下修改这里容易遇到问题,出错后请参考http://blog.csdn.net/zhongdajiajiao/article/details/51698845