首页 > 软件开发 > 编程语言 >

php怎么获取数据库转换成json数据乱码

来源:互联网 2023-03-17 00:16:25 版权归原作者所有,如有侵权,请联系我们

在jquery的使用中,json的数据往往是从后台取出来,然而,由服务器端生成的json数据,在前端调用时有时会遇到一些问题,而出现乱码则属于较为常见的现象。本文将通过实例与大家分享一下php生成json数据为乱码的处理方法。4hp办公区 - 实用经验教程分享!

方法/步骤

  • php生成json数据为乱码的处理方法一4hp办公区 - 实用经验教程分享!

    先看看下面这段由php生成的json字符串:4hp办公区 - 实用经验教程分享!

    php怎么获取数据库转换成json数据乱码4hp办公区 - 实用经验教程分享!

  • "u4e2du56fd"就是一段乱码,我们现在的目标是把这段乱码变成可读字符串。4hp办公区 - 实用经验教程分享!

    通过测试,可以采用这样的方法解决问题:在php生成json的程序中,在json_encode之前,把所有数组内所有内容都用urlencode()处理一下,然用json_encode()转换成json字符串,最后再用urldecode()将编码过的中文转回来。4hp办公区 - 实用经验教程分享!

    下面为两个处理函数,可以直接调用:4hp办公区 - 实用经验教程分享!

    php怎么获取数据库转换成json数据乱码4hp办公区 - 实用经验教程分享!

  • 通过这样处理后,"u4e2du56fd"这段乱码就会变成了"中国"的可读字符了。4hp办公区 - 实用经验教程分享!

  • php实现的另外一种解决方法4hp办公区 - 实用经验教程分享!

    该方法跟上面的方法类似,也是先urlencode (),再urldecode()来处理。4hp办公区 - 实用经验教程分享!

    参考如下实例4hp办公区 - 实用经验教程分享!

    php怎么获取数据库转换成json数据乱码4hp办公区 - 实用经验教程分享!

  • 在客户端处理json乱码的方法4hp办公区 - 实用经验教程分享!

    有人认为,json_encode()输出的是标准的json对象,那个不叫乱码。我觉得也有道理,处理这种编码应该可以在客户端实现,而不需要在服务器处理。4hp办公区 - 实用经验教程分享!

    如下便是在客户端的处理方法。4hp办公区 - 实用经验教程分享!

    如果是ajax,直接4hp办公区 - 实用经验教程分享!

    php怎么获取数据库转换成json数据乱码4hp办公区 - 实用经验教程分享!

  • 在客户端,4hp办公区 - 实用经验教程分享!

    php怎么获取数据库转换成json数据乱码4hp办公区 - 实用经验教程分享!

  • 弹出的不会是乱码的。如果觉得eval函数不安全,可以使用$.getJSON( );,如果选择了jquery库的话。4hp办公区 - 实用经验教程分享!

    还有,使用这种方法要注意的一点是,如果数据源还有特殊符号,比如",,客户端使用eval解析会出现问题。4hp办公区 - 实用经验教程分享!

  • 相关意见4hp办公区 - 实用经验教程分享!

    echo json_encode($var); 输出的是标准的json字符串,中文本来就是被转换过的,不是什么乱码。4hp办公区 - 实用经验教程分享!

    如果项目编码不是utf8,直接使用json_encode转换出来的中文会变成NULL的,urlencode后就不存在这个问题了。4hp办公区 - 实用经验教程分享!

    生成json字符串的时候只能使用utf-8。不过可以用下面这个函数先实现utf8数组转码然后在直接使用json_encode():4hp办公区 - 实用经验教程分享!

    php怎么获取数据库转换成json数据乱码4hp办公区 - 实用经验教程分享!

  • 该信息未经授权抓取自百度经验
  • 如果客户端是用js写,确实没什么必要在php服务器端处理字符串问题。但是我最近在用java的intent链接一个php的url返回数据,一直是转化后的编码,java客户端也没找到解决办法,这时在服务器端的处理方法就很管用。4hp办公区 - 实用经验教程分享!

以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!4hp办公区 - 实用经验教程分享!


标签: PHP数据库编程语言

办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号