Java连接Mysql数据库写入中文数据乱码成???的解决方法

Java连接Mysql数据库写入中文数据乱码成???的解决方法

问题介绍

在本地创建好表,写入中文数据时,发现调用接口写入的数据值变成了???,但是手动输入的时候是可以显示中文的,因此定位到问题所在,是java写入过程中的问题。但是本地调试在insert的时候,中文字符依然正确。jooq生成的代码insert不会出错,因此应该是在java连接JDBC时出错的!

Java连接JDBC

java连接到MySql时,需要设定连接到的数据库的url,url设定是可以带上一些设定参数。常用的参数如下:具体的JDBC url 链接方法: 可以参考以下链接, https://www.cnblogs.com/mracale/p/5842572.html。

重点:

  1. 如果是在xml文件中,&字符需要进行转义,转移为 &

问题解决方法

在我的项目配置中,可能是别人从老项目中直接拷贝的,项目的config.properties文件中设定的jdbc 的url参数格式中,使用是 转义后的 & --即&amp,导致连接失效。我将其改为 & 即可、如下:

jdbc:mysql://host:port/database?useUnicode=true&characterEncoding=UTF-8

成功解决问题,java 写中文数据为空的问题!
当然如果你的配置没有出错,请检查表的参数配置是否为utf8

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值