json_encode处理json数据中文乱码
今天使用json_encode 把一个数组转换成json数据,echo处理的时候,显示为null。去查了php手册。
该函数只能接受 UTF-8 编码的数据。
在网上搜了下,找到了解决方法。
1 <?php 2 3 /************************************************************** 4 * 5 * 使用特定function对数组中所有元素做处理 6 * @param string &$array 要处理的字符串 7 * @param string $function 要执行的函数 8 * @return boolean $apply_to_keys_also 是否也应用到key上 9 * @access public 10 * 11 *************************************************************/ 12 function arrayRecursive(&$array, $function, $apply_to_keys_also = false) 13 { 14 static $recursive_counter = 0; 15 if (++$recursive_counter > 1000) { 16 die('possible deep recursion attack'); 17 } 18 foreach ($array as $key => $value) { 19 if (is_array($value)) { 20 arrayRecursive($array[$key], $function, $apply_to_keys_also); 21 } else { 22 $array[$key] = $function($value); 23 } 24 25 if ($apply_to_keys_also && is_string($key)) { 26 $new_key = $function($key); 27 if ($new_key != $key) { 28 $array[$new_key] = $array[$key]; 29 unset($array[$key]); 30 } 31 } 32 } 33 $recursive_counter--; 34 } 35 36 /************************************************************** 37 * 38 * 将数组转换为JSON字符串(兼容中文) 39 * @param array $array 要转换的数组 40 * @access public 41 * 42 *************************************************************/ 43 function JSON($array) { 44 arrayRecursive($array, 'urlencode', true); 45 $json = json_encode($array); 46 return urldecode($json); 47 } 48 49 //使用方法 echo JSON($array);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现