安装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编码的数据库中就是乱码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)