找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 193|回复: 0

[js/jquery基础] jquery默认post的编码为utf-8,页面为gbk的话,会乱码

[复制链接]
发表于 2024-3-1 22:23 | 显示全部楼层 |阅读模式
我为dz论坛写了一个插件:客户反馈说:此插件修改标题后会乱码。
赶紧查:dz论坛页面为gbk、数据库编码为gbk_chinese_ci,发贴没有问题,那么有问题的肯定是post到后端php的地方出问题了。于是在php端调试,一直都是正常的,一进数据库就乱码了。
于是又想了一下:会不会是jquery.post的时候就是utf-8的,果然,在“请求头”这里发现jquery确实是用utf-8编码post数据的,汗,为啥jquery不取页面编码呢?害惨我了。

赶紧改代码:
前端可以加:contentType:"application/x-www-form-urlencoded; charset=utf-8",到$.ajax里去,但无法加到$.post里去。由于插件是utf-8/gbk共用的,因此前端页面不能改动,只能在后端判断:

if($_G['charset'] == 'gbk') {
   $subject = mb_convert_encoding($subject, 'gbk');
}

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|学习笔记

GMT+8, 2024-9-8 10:19 , Processed in 0.023180 second(s), 14 queries , APCu On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表