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);

最新文章

  1. 分离的思想结合单链表实现级联组件:CascadeView
  2. .NET程序员走向高端必读书单汇总
  3. TCP中的RST复位信号
  4. c# 无法加载 DLL xxxxxxxx找不到指定的模块。 (异常来自HRESULT:0x8007007E)。的一个解决方法
  5. 新建txt文件新增内容并打印出
  6. 解构控制反转(IoC)和依赖注入(DI)
  7. js 作用域,变量提升
  8. 当tomcat有两个链接数据库的应用同时运行可能冲突
  9. 【CSS3】块级元素与行内元素的区别
  10. Redis学习笔记之一 : 配置redis
  11. urllib使用
  12. phpstorm快捷键大全
  13. JavaSE-基本数据类型
  14. Calendar代替Date常用方法小记
  15. #WEB安全基础 : HTTP协议 | 0x6 初识HTTP报文
  16. 『PyTorch &#215; TensorFlow』第十七弹_ResNet快速实现
  17. .NET Core在类库中读取配置文件appsettings.json
  18. 学习笔记(一)---&gt;《Java 8编程官方参考教程(第9版).pdf》:第一章到六章学习笔记
  19. 「HNOI2015」开店(树链剖分, 主席树)
  20. 2018.11.07 NOIP模拟 异或(数位dp)

热门文章

  1. ansible错误ImportError: No module named ansible.runner记录
  2. 海思Hi3519A MPP从入门到精通(一 系统概述)
  3. CentOS7破解root密码
  4. Shell命令-用户用户组管理之passwd、chage
  5. python的pip安装时,使用国内Pypi源
  6. 学习51cto中美团中的小知识点--组件实现按需求加载
  7. LG4556 [Vani有约会]雨天的尾巴 动态开点线段树+线段树合并
  8. QTP10启动错误:Error creatingUnable to create configuration directory &quot;C:UsersmR?&#227;? directory entry
  9. JVMTIAgent
  10. 腾讯云短信服务+Node.js给手机发送验证码