PHP json中文
2024-10-19 19:32:00
json_encode 和 json_decode 只支持utf-8编码的字符串,GBK的字符串要用json就得转换成utf-8字符串
看效果
<?php
header("Content-type:text/html; charset=utf-8");
$dirname = $_GET['dirname'];
$dirname = iconv('utf-8', 'GBK', $dirname);
$filename = array();
function read_all ($dir){
global $filename; //使用全局变量
if(!is_dir($dir)) return false;
$handle = opendir($dir);
if($handle){
while(($fl = readdir($handle)) != false){
$temp = $dir.DIRECTORY_SEPARATOR.$fl;
if(is_dir($temp) && $fl!='.' && $fl != '..'){
read_all($temp);
}else{
if($fl!='.' && $fl != '..'){
$temp = iconv('GBK', 'utf-8', $temp); //再将GBK编码转换为utf-8编码
$filename[] = $temp;
}
}
}
}
}
read_all($dirname);
echo json_encode($filename, JSON_UNESCAPED_UNICODE);
?>
不使用iconv转换编码效果
使用iconv转换编码效果
JSON_UNESCAPED_UNICODE
JSON_UNESCAPED_UNICODE是PHP5.4版本后新加的。加入以后,就不会对中文编码
加入前后的效果对比
echo json_encode($filename);
echo '<br>';
echo json_encode($filename, JSON_UNESCAPED_UNICODE);
最新文章
- 分离的思想结合单链表实现级联组件:CascadeView
- .NET程序员走向高端必读书单汇总
- TCP中的RST复位信号
- c# 无法加载 DLL xxxxxxxx找不到指定的模块。 (异常来自HRESULT:0x8007007E)。的一个解决方法
- 新建txt文件新增内容并打印出
- 解构控制反转(IoC)和依赖注入(DI)
- js 作用域,变量提升
- 当tomcat有两个链接数据库的应用同时运行可能冲突
- 【CSS3】块级元素与行内元素的区别
- Redis学习笔记之一 : 配置redis
- urllib使用
- phpstorm快捷键大全
- JavaSE-基本数据类型
- Calendar代替Date常用方法小记
- #WEB安全基础 : HTTP协议 | 0x6 初识HTTP报文
- 『PyTorch &#215; TensorFlow』第十七弹_ResNet快速实现
- .NET Core在类库中读取配置文件appsettings.json
- 学习笔记(一)--->;《Java 8编程官方参考教程(第9版).pdf》:第一章到六章学习笔记
- 「HNOI2015」开店(树链剖分, 主席树)
- 2018.11.07 NOIP模拟 异或(数位dp)
热门文章
- ansible错误ImportError: No module named ansible.runner记录
- 海思Hi3519A MPP从入门到精通(一 系统概述)
- CentOS7破解root密码
- Shell命令-用户用户组管理之passwd、chage
- python的pip安装时,使用国内Pypi源
- 学习51cto中美团中的小知识点--组件实现按需求加载
- LG4556 [Vani有约会]雨天的尾巴 动态开点线段树+线段树合并
- QTP10启动错误:Error creatingUnable to create configuration directory ";C:UsersmR?&#227;? directory entry
- JVMTIAgent
- 腾讯云短信服务+Node.js给手机发送验证码