java mysql编码_MySql与Java交互的编码问题

向mysql表中添加中文字符变成 ?

8e6435912719

图一:字符写入变成?

解决方案:

一:遇到这种问题肯定是字符集造成的,先检查数据库,表的字符集,都是utf8;

然后看页面,程序等等等等都是utf8都没问题,然后将连接字符串改为jdbc:mysql://xxxxx:3306/dbname?useUnicode=true&characterEncoding=utf-8解决问题了。

如果你的连接串是在xml文件中,请将&改为&客户端连接的时候默认似乎是GBK的,所以指定为utf8.

二:检查表属性;

8e6435912719

图二:表属性

将数据库的表属性都设置成utf-8;

3:用show variables like 'character%'查看mysql的字符编码;

8e6435912719

图三:MySql编码格式

如果其中有编码格式不是utf8的,除character_set_filesystem和character_sets_dir,将其它的改为utf8就可以了 ,

修改方式:通过sql语句;

通过MySQL命令行修改:

mysql> set character_set_client=utf8;

mysql> set character_set_connection=utf8;

mysql> set character_set_database=utf8;

mysql> set character_set_results=utf8;

mysql> set character_set_server=utf8;

mysql> set character_set_system=utf8;

mysql> set collation_connection=utf8;

mysql> set collation_database=utf8;

mysql> set collation_server=utf8;

通过修改配置文件:

文件默认位置:C:\Program Files\MySQL\MySQL Server 5.5\my.ini

8e6435912719

图四:修改文件

最后修改完毕重启服务:

运行cmd;

停止服务:net stop mysql;

开启服务:net start mysql;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值