加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、容器安全、数据加密、云日志、云数据迁移!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql插入中文数据就变成一个问号该怎么解决?

发布时间:2023-06-27 12:00:39 所属栏目:MySql教程 来源:未知
导读:   为大家详细介绍“mysql插入中文数据变成问号如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“mysql插入中文数据变成问号如何解决”文章能帮助大家解决疑
  为大家详细介绍“mysql插入中文数据变成问号如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“mysql插入中文数据变成问号如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
 
  mysql插入中文数据变成问号
 
  第一步:首先检验一下你自己的代码基本配置
 
  1.Jdbc.properties数据库配置文件后面是不是加了characterEncoding=utf-8,如下图所示:

  发现没有的话别傻看着,赶紧加起来
 
  2.web.xml有没有配置编码过滤器,就像是这种
 
  没有的话你自己看着办,嘿嘿,为了方便你们复制在下面写一下(是不是很贴心)
 
  <!-- 配置编码过滤器 -->
 
   <filter>
 
   <filter-name>characterEncodingFilter</filter-name>
 
   <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
 
   <init-param>
 
   <param-name>encoding</param-name>
 
   <param-value>utf-8</param-value>
 
   </init-param>
 
   </filter>
 
  第二步:当你发现上面两个文件都没有问题的话,我们就来看看这个配置文件啦.
 
  1.看数据库编码格式
 
  先登录服务器,进到你的数据库,登录数据库命令(下面的数据库名指的是你创建的数据库名称,比如说test):
 
  mysql -u root -p 数据库名
 
  然后执行下面的命令查看你数据库的编码格式
 
  show variables like ‘char%’;
 
  就是这个latin1在作怪,那么这个问题怎么解决呢?不要心急往下看.
 
  2.修改mysql内部配置文件
 
  先声明一下,最新下载的官网mysql安装包貌似都是没有my.ini文件,但是一定有my.cnf文件,这个时候你就应该去你服务器看下在哪,当然一般都在根目录下的etc/下面。
 
  命令行:vim my.cnf
 
  【核心】执行i命令进入编辑模式,在[mysqlid]下面新增下面一句话,也就是汉字编码格式兼容
 
  character-set-server=utf8

  :wq命令保存并退出。
 
  3.重启mysql大功告成
 
  我的是在根目录的bin下面执行这两个实现停启
 
  systemctl stop mysqld.service
 
  systemctl start mysqld.service
 
  然后你可以很自豪的登录mysql,执行上面这个命令查看你数据库的编码格式
 
  show variables like ‘char%';
 
  是不是很惊喜很意外,哈哈哈哈。
 
  最终经过不泄的努力,总算是把这个中文数据录入进去了,哈哈哈哈,真服自己,都想给自己转个钱啥的,问号什么的可以滚一边去了。
 
  问题解决
 
  存入mysql的汉字变成问号
 
  项目场景
 
  mySql 5.7
 
  java
 
  配置文件:spring.datasource.url=jdbc:p6spy:mysql://localhost:3306/XXX?useSSL=false
 
  插入操作:
 
  @Insert("INSERT INTO foods(food_name,food_taste,food_price,food_description) VALUES (#{foodName},#{foodTaste},#{foodPrice},#{foodDescription})")
 
   int insert(Food food);
 
  问题描述
 
  存入数据库后汉字变成????
 
  解决方案
 
  解决方法:数据源里面增加 useUnicode=true&characterEncoding=UTF-8
 
  spring.datasource.url=jdbc:p6spy:mysql://localhost:3306/XXX?useUnicode=true&characterEncoding=UTF-8&useSSL=false
 

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章