分析原因:这是因为之前修改了数据库的编码,但数据表的编码却没有跟着改变导致的。
安装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;命令