今天遇到的问题使mysql中插入中文数据后显示乱码,我在mysql中插入中文的时候,可以插入可是select的时候却无法显示,为此我写下这篇博客用于解决mysql插入中文。
由于有些截图没有记录下来,但是为了说明问题,我借用了别人的图,主要是为了完整的描述问题,在没有任何修改的时候,我们可以在mysql命令行中敲入以下指令,其结果如下所示:
show variables like 'character%';
可以看到,以上的编码并不支持中文,所以我们需要改变他们的编码(我这里是改成了utf8格式的)以支持中文,修改步骤如下:
修改以后,关闭mysql服务(net stop mysql),然后再重新启动mysql服务(net start mysql),注意以上的修改不要出错,否则你在重新启动mysql的时候会出现系统错误,错误号为1067(若是出现了可以说明是你在修改的过程中出错了,检查一下你的修改)。修改好了以后,我再次使用 show variables
like ‘character%‘;命令查看了一下,显示如下:
可以看到编码基本都转换为了utf8格式的,于是我使用了以下指令(切换数据库)
ues test
然后我创建了新表,但是插入中文的时候出现了错误,原因下图中也是可以看出的,有一项的格式又变回了 latin1 格式
原因是我们的修改对test数据库无效(应该是可以修改的,这就留给细心的你们了),于是我新创建了一个数据库:
可以看到新的数据库的数据格式,我感觉这回应该搞定了,下面我们来试试吧!
哈哈,搞定!
时间: 2024-10-08 09:30:00