广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP json_encode中文乱码解决方法
  • 658
分享到

PHP json_encode中文乱码解决方法

2024-04-02 19:04:59 658人浏览 安东尼
摘要

相信很多人在使用ajax与后台PHP页面进行交互的时候都碰到过中文乱码的问题。JSON作为一种轻量级的数据交换格式,备受亲睐,但是用php作为后台交互,容易出现中文乱码的问题。jsO

相信很多人在使用ajax与后台PHP页面进行交互的时候都碰到过中文乱码的问题。JSON作为一种轻量级的数据交换格式,备受亲睐,但是用php作为后台交互,容易出现中文乱码的问题。jsON和js一样,对于客户端的字符都是以UTF8的形式进行处理的,也就是说,使用JSON作为提交和接收的数据格式时字符都采用UTF8编码处理,当我们的页面编码和数据库编码不是采用UTF8的时候,就极容易出现中文乱码的问题。解决办法自然是在用js或者PHP处理JSON数据的时候都采用UTF8的形式。

PHP5.2或以上的版本把json_encode作为内置函数来用,给网站制作者带来了很大的方便,但是我们必须注意到json_encode只支持UTF8编码的字符,否则,中文乱码或者空值就出现了。
解决办法分为以下两个步骤。

Step1

保证在使用JSON处理的时候字符是以UTF8编码的。具体我们可以把数据库编码和页面编码都改为UTF8。当然喜欢用gbk编码的话,可以在进行JSON处理前,把字符转为UTF8形式。在PHP中有如下方法:


<?php
     $data="JSON中文";
     $newData=iconv("GB2312","UTF-8//IGNORE",$data);
     echo $newData;
     //ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符都不会被保存。
     //或是("GB2312","UTF-8",$data);
?>

Step2

 后台PHP页面(页面编码为UTF-8或者已经把字符转为UTF-8)使用json_encode将PHP中的array数组转为JSON字符串。例如:


<?php
    $testJSON=array('name'=>'中文字符串','value'=>'test');
    echo json_encode($testJSON);
?>

查看输出结果为:

{“name”:”\u4e2d\u6587\u5b57\u7b26\u4e32″,”value”:”test”}

可见即使用UTF8编码的字符,使用json_encode也出现了中文乱码。解决办法是在使用json_encode之前把字符用函数urlencode()处理一下,然后再json_encode,输出结果的时候在用函数urldecode()转回来。具体如下:


<?php
    $testJSON=array('name'=>'中文字符串','value'=>'test');
    //echo json_encode($testJSON);
    foreach ( $testJSON as $key => $value ) {
		$testJSON[$key] = urlencode ( $value );
    }
    echo urldecode ( json_encode ( $testJSON ) );
?>

查看输出结果为:

{“name”:”中文字符串”,”value”:”test”}

到此,成功地输出了中文字符。随意使用json_encode吧。这样子在PHP后台输出的JSON字符串在前台javascript中Ajax接收后eval出来也不会出现中文乱码,因为js在处理JSON格式数据是也是以UTF8的形式进行的,与PHP类似,故接收PHP页面的JSON字符串不会出现问题。

以上就是PHP json_encode中文乱码解决方法的详细内容,更多关于PHP中文乱码的资料请关注编程网其它相关文章!

--结束END--

本文标题: PHP json_encode中文乱码解决方法

本文链接: https://www.lsjlt.com/news/124050.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP json_encode中文乱码解决方法
    相信很多人在使用Ajax与后台php页面进行交互的时候都碰到过中文乱码的问题。JSON作为一种轻量级的数据交换格式,备受亲睐,但是用PHP作为后台交互,容易出现中文乱码的问题。JSO...
    99+
    2022-11-12
  • PHP json_encode中文乱码问题的解决办法
    下面的PHP代码可以解决以下问题:1.json_encode UTF8码中文后的字符串不可阅读2.json_encode 多级数组中文乱码问题3.json_encode 数组中包含换...
    99+
    2022-11-15
    PHP json_encode 中文乱码
  • 在PHP中使用json_encode时出现中文乱码如何解决
    这期内容当中小编将会给大家带来有关在PHP中使用json_encode时出现中文乱码如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。php有什么用php是一个嵌套的缩写名称,是英文超级文本预处理语言...
    99+
    2023-06-14
  • php json_encode()中文转码怎么解决
    PHP是一种在Web开发中非常常用的编程语言,其支持将数据格式化为JSON格式,其中包括中文字符。然而,有时候在使用PHP中的json_encode()函数时,会出现中文字符出现乱码的问题。本文将会讨论如何在使用PHP的json_encod...
    99+
    2023-05-14
    json_encode() php
  • php json_encode()中文转码如何解决
    这篇文章主要介绍“php json_encode()中文转码如何解决”,在日常操作中,相信很多人在php json_encode()中文转码如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php jso...
    99+
    2023-07-05
  • php ziparchive中文乱码的解决方法
    小编给大家分享一下php ziparchive中文乱码的解决方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!php ziparchive中文乱码的解决办法:首先打开压缩包将内部文件名及目录进行转码;然后在转码后关闭压缩包...
    99+
    2023-06-15
  • iis7 php中文乱码的解决方法
    这篇文章给大家分享的是有关iis7 php中文乱码的解决方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。iis7 php中文乱码的解决办法:首先打开相应的PHP文件;然后在文件的开头写上“header('...
    99+
    2023-06-14
  • php rename中文乱码的解决方法
    这篇文章主要介绍php rename中文乱码的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php rename中文乱码的解决办法:首先打开相应的PHP代码文件;然后通过“iconv("G...
    99+
    2023-06-15
  • php explode中文乱码的解决方法
    小编给大家分享一下php explode中文乱码的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!解决方法:1、在php.ini配置文件中,查找并设置“de...
    99+
    2023-06-15
  • php中swfupload中文乱码的解决方法
    这篇文章主要介绍php中swfupload中文乱码的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!方法:1、利用“fileName=new String(fileName.getBytes("UTF...
    99+
    2023-06-15
  • php页面中文乱码的解决方法
    这篇文章给大家分享的是有关php页面中文乱码的解决方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php页面中文乱码的解决办法:1、在PHP文件的最上面加入“<meta http-equiv="...
    99+
    2023-06-07
  • php添加中文乱码的解决方法
    这篇文章主要为大家展示了“php添加中文乱码的解决方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php添加中文乱码的解决方法”这篇文章吧。php添加中文乱码的解决办法:1、在php中的头部h...
    99+
    2023-06-25
  • php中文文字水印乱码的解决方法
    小编给大家分享一下php中文文字水印乱码的解决方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!php中文文字水印乱码的解决办法:1、去除“--enable-gd-jis-conv”选项,重新编译php;2、通过“mb_c...
    99+
    2023-06-09
  • php cmd打印中文乱码的解决方法
    这篇文章主要介绍php cmd打印中文乱码的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php cmd打印中文乱码的解决办法:1、创建一个php脚本;2、在脚本中执行cmd命令去修改当前页码字符集即可。本文...
    99+
    2023-06-25
  • php中mpdf文件名乱码的解决方法
    小编给大家分享一下php中mpdf文件名乱码的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php mpdf文件名乱码的解决办法:1、将“autoLang...
    99+
    2023-06-15
  • php中ajax提交中文乱码的解决方法
    小编给大家分享一下php中ajax提交中文乱码的解决方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!php ajax提交中文乱码的解决办法:1、将所有数据统一使用utf-8编码,包括从数据库编码,php编码和前端编码;2...
    99+
    2023-06-15
  • AJAX中文乱码的解决方法
    本篇内容主要讲解“AJAX中文乱码的解决方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“AJAX中文乱码的解决方法”吧! AJAX...
    99+
    2022-10-19
  • css中文乱码的解决方法
    小编给大家分享一下css中文乱码的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!css的基本语法是什么css的基本语法是:1、css规则由选择器和一条或多...
    99+
    2023-06-14
  • JFreeChart中文乱码的解决方法
    今天就跟大家聊聊有关JFreeChart中文乱码的解决方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。由于JFreeChart组件的版本、操作平台、JDK的设置等因素,在使用JFr...
    99+
    2023-06-17
  • html5中文乱码的解决方法
    小编给大家分享一下html5中文乱码的解决方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!解决方法:1、在软件中打开html文件,选择页面顶部的“修改”-“页面属性”,在新窗口中选择“标题/编码”,选择指定编码,点击“应...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作