很无语,突然发现做表单插入的时候,数据库表中的部分中文记录为unicode十进制编码,但浏览网页的时候是正常的,只是在做模糊查询的时候搜索相关中文关键词,检索不到记录;
我的网站所有页面的编码都是gbk 格式,数据库等都是gbk 格式,妈的,但是不知道为什么储存到MysqL的时候就是要变成 乱码(unicode十进制编码格式);
翻阅了很多资料,进行了很多测试,一直都以为是数据库编码哪里有问题,测试的时候发现google 内核的浏览器插入没问题,但是IE系列的浏览器就是不行。后来反复测试,不断缩小排查范围,最终发现居然是 网页表单的编码格式问题!!!!!
按道理,form 表单编码默认格式就是:enctype="application/x-www-form-urlencoded" ,但IE好像没有给这个默认,所以需要把form 表单属性改下,如图:
代码:<form action="" method="post" enctype="application/x-www-form-urlencoded" name="form1" id="form1">
重新在IE浏览器下测试插入中文后,一切正常!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。