php json_encode实现与中文乱码解决方法
php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它,这个函数的功能是将数值转换成json数据存储格式.
<?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); //结果 //{"a":1,"b":2,"c":3,"d":4,"e":5} ?>
下面看一款json_encode中文乱码问题:
解决方法是用urlencode()函数处理以下,在json_encode之前,把所有数组内所有内容都用urlencode()处理一下,然用json_encode()转换成json字符串,最后再用urldecode()将编码过的中文转回来.
<?php function arrayrecursive(&$array, $function, $apply_to_keys_also = false) { static $recursive_counter = 0; if (++$recursive_counter > 1000) { die('possible deep recursion attack'); } foreach ($array as $key => $value) { if (is_array($value)) { arrayrecursive($array[$key], $function, $apply_to_keys_also); } else { $array[$key] = $function($value); } if ($apply_to_keys_also && is_string($key)) { $new_key = $function($key); if ($new_key != $key) { $array[$new_key] = $array[$key]; unset($array[$key]); } } } $recursive_counter--; } /************************************************************** * * 将数组转换为json字符串(兼容中文) * @param array $array 要转换的数组 * @return string 转换得到的json字符串 * @access public * *************************************************************/ function json($array) { arrayrecursive($array, 'urlencode', true); $json = json_encode($array); return urldecode($json); } $array = array( 'name' => '希亚', 'age' => 20 ); echo json($array); ?>
应用实例:
<?php $servname = "localhost"; $sqlservname = "root"; $sqlservpws = "123456"; $sqlname = "lock1"; $db = mysql_connect($servname, $sqlservname, $sqlservpws) or die("数据库连接失败"); mysql_select_db($sqlname, $db); $sql = "select * from t_operater"; $result = mysql_query($sql); $rows = mysql_num_rows($result); while ($obj = mysql_fetch_object($result)) { $arr[] = $obj; } echo '({"total":"' . $rows . '","results":' . json_encode($arr) . '})'; ?>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

解决PHPDompdf中文乱码问题的方法PHPDompdf是一个用于将HTML文档转换为PDF文件的工具,它的功能强大且易于使用。然而,在处理中文内容时,有时会遇到中文乱码的问题。本文将介绍一些解决PHPDompdf中文乱码问题的方法,并提供具体的代码示例。一、使用字体文件在处理中文内容时,一个常见的问题是Dompdf默认不支持中

解决PyCharm中文乱码问题的终极方法,需要具体代码示例引言:PyCharm作为一款常用的Python集成开发环境(IDE),具有强大的功能和友好的用户界面,被广大开发者所喜爱和使用。然而,PyCharm在处理中文字符时,有时可能会遇到乱码的问题,给开发和调试带来一定的困扰。本文将介绍如何解决PyCharm中文乱码问题,并给出具体的代码示例。一、设置项目编

MySQL安装中文乱码的常见原因及解决方案MySQL是一种常用的关系型数据库管理系统,但在使用过程中可能会遇到中文乱码的问题,这给开发者和系统管理员带来了困扰。中文乱码问题的出现主要是由于字符集设置不正确、数据库服务器和客户端字符集不一致等原因导致的。本文将详细介绍MySQL安装中文乱码的常见原因及解决方案,帮助大家更好地解决这个问题。一、常见原因:字符集设

ajax传递中文乱码的解决办法:1、设置统一的编码方式;2、服务器端编码;3、客户端解码;4、设置HTTP响应头;5、使用JSON格式。详细介绍:1、设置统一的编码方式,确保服务器端和客户端使用相同的编码方式,通常情况下,UTF-8是一种常用的编码方式,因为它可以支持多种语言和字符集;2、服务器端编码,在服务器端,确保将中文数据以正确的编码方式进行编码,再传递给客户端等等。

PHP网页中文乱码问题是在网页显示中出现中文字符显示为乱码的情况,这种情况通常是由于编码不一致或者未设置字符集导致的。解决PHP网页中文乱码问题需要从多个方面入手,以下是一些常见的解决方案以及具体的代码示例。设置PHP文件编码:首先确保PHP文件本身的编码是UTF-8,可以在编辑器中设置保存时使用UTF-8编码,或者在PHP文件头部添加如下代码设置编码:&l

Linux中文乱码问题是许多中文使用者在使用Linux系统时经常遇到的一个困扰。中文乱码的主要原因是因为Linux系统默认使用的字符编码是UTF-8,但是某些软件或应用程序可能不兼容UTF-8编码,导致中文无法正确显示。解决这个问题的方法有很多,下面将详细介绍几种常见的解决方法,并提供具体的代码示例。修改终端字符编码设置:终端的字符编码设置决定了终端能够正确

快速解决Eclipse中文乱码的实用技巧,需要具体代码示例概述:Eclipse是一款广泛使用的集成开发环境(IDE),它不仅支持多种编程语言的开发,也支持多种操作系统。然而,有时在使用Eclipse过程中,我们可能会遇到中文乱码的问题,这给我们的开发工作带来了不便。本文将介绍一些实用技巧,帮助我们快速解决Eclipse中文乱码问题,并附上具体的代码示例。一、

快速解决matplotlib中文乱码的有效方法导语:matplotlib是Python中常用的绘图库,然而在使用中文进行标注和显示时,经常会出现乱码的情况。本文将介绍一些有效的解决方法,并提供具体的代码示例。一、设置字体matplotlib默认使用系统字体进行中文显示,但是系统字体往往不包含中文字符,因此需要手动设置合适的中文字体。首先需要确认计算机中是否已
