mysql插入中文数据变成问号如何解决

网友投稿 1212 2023-07-07

mysql插入中文数据变成问号如何解决

mysql插入中文数据变成问号如何解决

mysql插入中文数据变成问号

第一步:首先检验一下你自己的代码基本配置

1.Jdbc.properties数据库配置文件后面是不是加了characterEncoding=utf-8,如下图所示:

发现没有的话别傻看着,赶紧加起来

2.web.xml有没有配置编码过滤器,就像是这种

没有的话你自己看着办,嘿嘿,为了方便你们复制在下面写一下(是不是很贴心)

characterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding utf-8 登录后复制

第二步:当你发现上面两个文件都没有问题的话,我们就来看看这个配置文件啦.

1.看数据库编码格式

先登录服务器,进到你的数据库,登录数据库命令(下面的数据库名指的是你创建的数据库名称,比如说test):

mysql -u root -p 数据库名

然后执行下面的命令查看你数据库的编码格式

show variables like ‘char%’;

就是这个latin1在作怪,那么这个问题怎么解决呢?不要心急往下看.

2.修改mysql内部配置文件

命令行:vim my.cnf

【核心】执行i命令进入编辑模式,在[mysqlid]下面新增下面一句话,也就是汉字编码格式兼容

character-set-server=utf8登录后复制

:wq命令保存并退出。

3.重启mysql大功告成

我的是在根目录的bin下面执行这两个实现停启

systemctl stop mysqld.servicesystemctl 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登录后复制

wenti

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:安装mysql无法启动服务如何解决
下一篇:MySql多级菜单查询怎么实现
相关文章