mysql+hibernate 中文乱码解决方法

本文介绍了如何在MySQL配置文件中设置字符编码,并展示了如何在Hibernate配置文件中进行相应的编码配置,确保应用程序能正确处理中文等Unicode字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、mysql中配置文件的设置

#设置client执行sql的请求串编码
[client]
port        
=3306
socket        
=/tmp/mysql.sock
useUnicode
=true
characterEncoding
=utf8

#设置数据库系统本身编码格式
[mysqld]
default-character-set
=utf8

2、设置hibernate配置文件

在配置文件中添加两个property
    <property name="connection.useUnicode">true</property>
    
<property name="connection.characterEncoding">UTF8</property>

    <property name="connection.driver_class">
        com.mysql.jdbc.Driver
    
</property>
    
<property name="connection.url">
        jdbc:mysql://localhost:3306/test        
    
</property>
    
<property name="connection.useUnicode">true</property>
    
<property name="connection.characterEncoding">UTF8</property>

经测试,hibernate中的配置文件的设置不设也能正常取出,

注:[mysqld]
default-character-set
=utf8
中的utf8不能写成 utf-8,否则服务器无法启动,因为Mysql不认utf-8;

可以通过命令
SHOW VARIABLES LIKE '%character_set_%'
察看Mysql的编码设置

character_set_client, utf8
character_set_connection
, utf8
character_set_database
, utf8
character_set_filesystem
, binary
character_set_results
, utf8
character_set_server
, utf8
character_set_system
, utf8
character_sets_dir
, E:softProgrammysqlmysql-5.0.22-win32sharecharsets
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值