MySQL的数据库无法插入中文是怎么回事

MySQL的数据库无法插入中文是怎么回事,第1张

分析原因:这是因为之前修改了数据库的编码,但数据表的编码却没有跟着改变导致的。

安装mysql 时,使用的是latin编码(随后修改为utf8)。建的数据表是在latin编码下建立的。而jsp页面使用的是utf8,所以无法插入数据。。。

1.修改mysql数据库编码

修改MySQL安装目录下的my.ini文件

default-character-set=utf8

character-set-server=utf8

然后重启MySQL服务,MySQL 没有重启的命令,要先停止,然后再启动。

这样就确保了,mysql中的编码类型

用show variables like 'char%'或status命令 查看得到如下:

红色方框应改为gb2312编码,否则在dos下显示中文乱码

2.解决方法

设置表的编码格式,执行alter table 数据表名 CONVERT TO CHARACTER SET utf8命令

我分析情况只有 2种:

第一种,实际上是可以插入中文的,但是前提是重新插入内容才可以解码,你之前插入的乱码无法读取成中文,所以你只需要把以前插入的都删除重新插入就可以了;

第二种,实际上mysql具体使用什么编码方式不仅仅是设置MYSQL,它是取决于你的php脚本所使用的编码方式,如果是这种情况,不知道你的文本编辑器使用的什么工具,它默认的编码方式应该是UTF-8,所以你插入到GBK编码的数据库中就是乱码。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11427722.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存