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命令

会不会是你装的时候没装好,要么就是你的输入法,还有是你写代码的时候有些属性你设置对了吗,我向来没晕倒这个问题的,如果以上问题还不是,你可以在word中写好,然后复制过去,不过安装问题的可能性大些 字符编码不对 就会这样了 你在建数据库的时候 最好加上这样一句

create database tea default character set utf8 collate utf8_general_ci

set names 'utf8'

这是对数据库默认字符的设置 以后对数据库的 *** 作都会使用utf8的字符编码

在你的程序里 也要适当的对字符进行处理 这要根据的你程序定 不一样的程序修改的形式不一样

像你以前在命令窗口下使用MySQL无法插入中文就是典型的字符不对造成的 你在对数据库 *** 作之前 最好在命令窗口设置一下 *** 作时的编码

例如 setchar utf8

这样插入的时候就不会插不进去了

因为中文windows系统默认的字符集不是utf-8的,所以不能在命令行输入包含中文的sql语句,只能找个类似phpadmin的数据库客户端,设置字符集为utf-8才能输入包含中文的sql语句。


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

原文地址:https://54852.com/bake/11903491.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存