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 提交 GBK编码的表单之最简单解决方案!(ASP/PHP)_第1张图片
我特么也是服了了,粘贴代码竟然不行。。。只能上图了


前端ajax


ajax 提交 GBK编码的表单之最简单解决方案!(ASP/PHP)_第2张图片

后端asp


ajax 提交 GBK编码的表单之最简单解决方案!(ASP/PHP)_第3张图片

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

你可能感兴趣的:(ajax 提交 GBK编码的表单之最简单解决方案!(ASP/PHP))