数据乱码: 编码与反编码

        最近写小项目时遇到这样的一个问题, 将json字符串(未乱码)传给前台进行Ajax处理,数据变成了乱码。关于前后台交互的字符编码的过滤器有书写,但是无法解决问题。

下面先来看问题:

这里将json对象转json字符串然后回传,在之前打印了回传数据。<根据区取到的街>

可以看到这里数据是没有问题的,ajax中接收数据后进行alert弹出数据

那么现在跑起来,到前台中去看数据显示

数据是得到了,但是弹出了一串问号。f12开发者模式:参数中区的id是取到了,在看响应id也都取到了,街道的name乱码了

我想的是ajax处理的过程中把数据编码类型搞错了,我马上看了两个文件的编码集,都为UTF-8。文件编码统一了,那就只能从ajax的四个请求条件中找问题了,于是在条件中加入了这样的代码

但是发现问题还是没有解决。ajax中处理的数据类型到底是什么?然后去网上查了很多ajax处理中文乱码的问题

解决方案:

        后台发送数据的时候对中文部分进行编码化,在ajax中对中文部分进行解码。

       关于编码的规则,我觉得这两篇博客写的很好编码与解码规则1

                                                                                编码与解码规则2

以下为我的处理方案:

后台进行编码:

 前台进行解码:(需要解码两次)

 前台查看响应

通过前后台操作相同的编码集进行解码与编码解决了问题。

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值