• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

三木筒子

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

mysql 数据插入为问号 ?

建表建库,向来不是我所擅长,而今天却心血来潮,晚期了数据库,然后插入数据的时候一直是炸,中文全部变成??,然后更改数据库编码集也是一样,查询结果,现在数据库默认字符集为utf-8,默认排序规则为utf8_general_ci, 

正常的数据库连接进行插入,用的PreparedStatement,然后

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test1", "root", "");

以上为连接信息,

至此插入无限问号

更改数据库字符集无果,最后查看正常连接,发现后面带了一串信息?autoReconnect=true&useUnicode=true&characterEncoding=utf8&allowMultiQueries=true,于是我也加上了

意思是,useUnicode=true&characterEncoding=utf8:

在使用mysql是的时候,如果超过8小时数据库没有操作,会自动断开连接,可以配置: autoReconnect=true

另外一段为

1. 存数据时:

     数据库在存放项目数据的时候会先用UTF-8格式将数据解码成字节码,然后再将解码后的字节码重新使用GBK编码存放到数据库中。

2.取数据时:

     在从数据库中取数据的时候,数据库会先将数据库中的数据按GBK格式解码成字节码,然后再将解码后的字节码重新按UTF-8格式编码数据,最后再将数据返回给客户端。

 

allowMultiQueries=true: 一条sql中允许进行多次插入update操作,

加入之后起来,插入查询,完全正常,于是。。。问题就这样愉快地解决了

如有错误,请邮件zs253499660@sina.com,如有更好的方法,可以推荐

posted on 2019-05-13 16:05  森酱  阅读(276)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3