php scandir() 中文文件或目录出现乱码?

php的scandir()在显示某级目录中的文件时,如果我的目录下有一个带中文的文件名例如说是测试.txt,那么会出现乱码!该如何解决啊?

<?php

$f = scandir('./');

foreach($f as $file) {

echo iconv('gbk' , 'utf-8' , $file ) . '<br/>';

}

?>

转换时 gbk 转 utf8 就可以,如果你的网页编码是 gbk的话 没必要转 也不会出现乱码。

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。注意不是“Hypertext Preprocessor”的缩写,这种将名称放到定义中的写法被称作递归缩写。PHP于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。后来又用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。

在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档。并且发布了PHP1.0!在这的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性。比如循环语句和数组变量等等;在新的成员加入开发行列之后,Rasmus Lerdorf 在1995年6月8日将 PHP/FI 公开发布,希望可以透过社群来加速程序开发与寻找错误。这个发布的版本命名为 PHP 2,已经有 PHP 的一些雏型,像是类似 Perl的变量命名方式、表单处理功能、以及嵌入到 HTML 中执行的能力。程序语法上也类似 Perl,有较多的限制,不过更简单、更有弹性。PHP/FI加入了对MySQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-08
<?php
$f = scandir('./');
foreach($f as $file) {
echo iconv('gbk' , 'utf-8' , $file ) . '<br/>';
}

?>
转换时 gbk 转 utf8 就可以,如果你的网页编码是 gbk的话 没必要转 也不会出现乱码。本回答被提问者和网友采纳
第2个回答  推荐于2016-03-05
<?php
$f = scandir('./');
foreach($f as $file) {
echo iconv('gbk' , 'utf-8' , $file ) . '<br/>';
}

?>
转换时 gbk 转 utf8 就可以,如果你的网页编码是 gbk的话 没必要转 也不会出现。
第3个回答  2013-04-08
楼上正解。系统中的文字都是windows-1252编码的,但是你的网页应该是gbk,gb2312,utf-8中的一种,对每一个文件名你可以执行
$filename = iconv('windows-1252', 'utf-8', $filename);就行了
第4个回答  2020-12-24

解压文件出现中文乱码怎么办解决办法

华为Mate50 Pro曲面旗舰手机

¥6799

苹果 AirPods Pro 2代

¥1699

索尼65英寸4K HDR专业游戏电视

¥7499

惠普战66五代15.6英寸轻薄本

¥4399

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网