ajax 提交 GBK编码的表单之最简单解决方案!(ASP/PHP)

问题引入

当您看到我文章的时候,后来查到我的前端页面和后端页面的编码都是GBK,而jQuery ajax提交时默认进行了utf-8编码,。

在网上找了很多解决方案都觉得太复杂,比如以下这篇中的办法是出现得比较多的:

ajax格式也可以用gbk方式提交,而不是utf-8

上文中提到了两种方法:

1:发送页面、接收页面均采用UTF-8编码。

2:发送页面在调用ajax post方法之前,将含有中文内容的input用encodeURIComponent编码一次,而接收页面则调用解码方法( 如:java.net.urldecoder.decode("接收到内容","utf-8") )

评价第一种方法:不现实,我全站都是用的asp编码

评价第二种方法:要修改一个jQuery函数进行前端编码,后端又解码回来,嫌麻烦。。。

解决思路

前端和服务端编码都是GBK是,jQuery默认进行了utf-8编码的提交,那我们就让它按照默认方式提交,在服务端端把收到的uft-8再数据转回GBK不就行了吗?

操作指南

前端html


我特么也是服了简书了,粘贴代码竟然不行。。。只能上图了


前端ajax


后端asp


总结,这种解决办法的好处就在于,前端一定都不用动,后端用个函数转换一下就可以了,而且所有的页面都可以是GBK编码的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容