mysql插入中文数据变成问号的问题

版权声明:如有转载请注明出处 https://blog.csdn.net/hdp134793/article/details/84033915

【写在前面】也许在看这篇文章的你因为这个事情烦恼,网上说的都是什么修改my.ini文件,可是当你发现你的服务器安装的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%’;
在这里插入图片描述
是不是很惊喜很意外,哈哈哈哈。

最终经过不泄的努力,总算是把这个中文数据录入进去了,哈哈哈哈,真尼玛佩服自己,都想给自己转个钱啥的,问号什么的可以滚一边去了。
在这里插入图片描述
三.问题解决,赏了
皮一下很开心,这个zfb二维码是认真的,实在土豪可以扫一扫扶贫,>=10元的将将代写表白情诗一首
(支付宝加好友私发对象名字)
在这里插入图片描述

扶贫1元即上榜,看看有多少人

*(随机抽取获奖66.6元红包:来自浙江嘉兴的“晓晨”,也感谢各位网友的扶贫赞助)
自己购买云服务,写了一套代码表示感谢,感恩我是认真的
http://www.bcodelove.top:8080/bcode/jsp/apphome/rewardlist/rewardlist.html

猜你喜欢

转载自blog.csdn.net/hdp134793/article/details/84033915