`

遭遇windows上PHP 不能打开GBK编码文件名的问题

阅读更多

我在 目录下建了一个文件名为 謀定三國-i8ujlw.json

 

然后在其下建了一个demo.php文件,内容如下:

<?php
function recursion_glob($dir, $pattern)
{
    $dir = rtrim($dir, '/\\') . DIRECTORY_SEPARATOR;
    $files = array();

    $dh = opendir($dir);
    if (!$dh) return $files;

    $items = (array)glob($dir . $pattern);
    foreach ($items as $item)
    {
        if (is_file($item)) $files[] = $item;
    }

    while (($file = readdir($dh)))
    {
        if ($file == '.' || $file == '..') continue;

        $path = $dir . $file;
        if (is_dir($path))
        {
            $files = array_merge($files, recursion_glob($path, $pattern));
        }
    }
    closedir($dh);
    return $files;
}

$files = recursion_glob(__DIR__, '*.json'); 
if ( !empty($files) )
{
	foreach ( $files as $file )
	{
		if(!is_readable($file))
		{
			print "cannot find: ($file)\n";
		}
        else
        {
            print "load file: ($file)\n";   
        }
	}
}

?>			

 

 

打开windows cmd控制台,输入 php demo.php

C:\tmp\md>php demo.php
load file: (C:\tmp\md\谋定三国-i8ujlw.json)
cannot find: (C:\tmp\md\謀定三國-i8ujlw.json)

 

打印出来的结果是不是很坑爹

 

 

PHP Version 5.5.1

 

System Windows NT WIN-290JCDFNA40 6.2 build 9200 (Windows 8 Business Edition) i586
Build Date Jul 18 2013 10:37:55
Compiler MSVC11 (Visual C++ 2012)
Architecture x86
Configure Command cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack" "--disable-zts" "--disable-isapi" "--disable-nsapi" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=C:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8=C:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8-11g=C:\php-sdk\oracle\instantclient11\sdk,shared" "--with-enchant=shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--disable-static-analyze" "--with-pgo"
Server API CGI/FastCGI
Virtual Directory Support disabled
Configuration File (php.ini) Path C:\Windows
Loaded Configuration File C:\soft\upupw\PHP5\php.ini
Scan this dir for additional .ini files (none)
Additional .ini files parsed (none)
PHP API 20121113
PHP Extension 20121212
Zend Extension 220121212
Zend Extension Build API220121212,NTS,VC11
PHP Extension Build API20121212,NTS,VC11
Debug Build no
Thread Safety disabled
Zend Signal Handling disabled
Zend Memory Manager enabled
Zend Multibyte Support provided by mbstring
IPv6 Support enabled
DTrace Support disabled
Registered PHP Streams php, file, glob, data, http, ftp, zip, compress.zlib, compress.bzip2, https, ftps, phar
Registered Stream Socket Transports tcp, udp, ssl, sslv3, sslv2, tls
Registered Stream Filters convert.iconv.*, mcrypt.*, mdecrypt.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, zlib.*, bzip2.*

 

Zend logoThis program makes use of the Zend Scripting Language Engine:
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
    with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
  • md.zip (1 KB)
  • 下载次数: 0
  • 大小: 26.2 KB
1
0
分享到:
评论
5 楼 vb2005xu 2015-04-29  
http://www.coreseek.cn/docs/coreseek_4.1-sphinx_2.0.1-beta.html#about
4 楼 vb2005xu 2015-03-29  
http://forum.china.com.cn/thread-710677-4-1.html 骗子收集
3 楼 vb2005xu 2015-03-29  
亲,把这个模版扣下来哦 http://www.100tal.com/
2 楼 lukeme 2015-03-11  
控制台下可以输出这界面,真是神奇
1 楼 vb2005xu 2015-03-09  
我的PHP版本信息是
引用

C:\soft\upupw\htdocs\loadstu>php -v
PHP 5.5.1 (cli) (built: Jul 18 2013 10:40:59)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
    with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans

相关推荐

    Linux下中文文件名乱码问题的详解 - CSDN博客1

    他们发现,Windows系统默认使用GBK编码,而Linux默认使用UTF-8编码,因此在处理文件名时需要进行编码转换。作者提供了一个自定义的`path_info()`函数来替代原生的`pathinfo`函数,以确保在处理中文文件名时能正确...

    浅谈php中fopen不能创建中文文件名文件的问题

    总结一下,PHP中使用fopen创建中文文件名遇到的问题主要源于编码不一致。通过调整网页编码到与文件系统相同的编码(如ANSI),或者使用iconv函数转换文件名的编码,可以有效解决这个问题。在编写代码时,应注重字符...

    基于PHP的SpeedPHP框架系统GBK源码.zip

    GBK编码是一种中文字符编码标准,兼容GB2312,能表示大部分中文字符,常用于Windows系统及一些旧的中文网站。在处理中文内容时,GBK编码有时会比Unicode(如UTF-8)更为高效,尤其是在存储和传输大量中文字符时。...

    基于PHP的发现世界搜索引擎 php版GBK版.zip

    在这个PHP搜索引擎项目中,使用GBK编码可能是为了确保系统能正确处理和存储中文内容,尤其是在处理老网站或者使用GBK编码的数据源时。 【搜索引擎开发】: 搜索引擎的基本组件包括爬虫、索引器、搜索器和排名算法。...

    基于PHP的KYphp公益型框架gbk.zip

    综上所述,这个压缩包提供了一个基于PHP的KYphp框架,特别适用于公益活动的Web开发,并且考虑到了中文环境下的GBK编码需求。开发者可以利用此框架快速搭建和维护公益网站,同时通过框架提供的工具和结构来优化开发...

    基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)

    根据提供的文件信息,我们可以从中抽取出...同时,文章通过具体的代码示例,详细讲解了如何在不同情况下导出Excel或CSV文件,并如何处理编码不兼容的问题,这对于在实际开发中遇到相似问题的开发者来说是非常有帮助的。

    PHP实例开发源码—AKCMS php网址导航系统GBK版.zip

    综上所述,这个压缩包提供了一个基于PHP的网址导航系统源码,使用GBK编码,适用于中文环境。开发者可以通过研究源码来学习PHP编程、MVC架构以及数据库管理。同时,"使用须知.txt"文件将指导用户如何正确安装和运行...

    php上传中文文件名乱码问题处理方案

    如果浏览器使用GBK编码,而服务器端的PHP脚本使用UTF-8编码,就会出现乱码。 1. **问题分析**: - 当用户选择一个中文文件并提交表单时,文件名以浏览器的编码(如GBK)发送到服务器。 - PHP接收到文件名后,如果...

    基于PHP的迅捷php网络留言本 GBK.zip

    GBK编码是中国大陆对GB2312编码的扩展,能够支持更多的汉字,但在处理多语言环境时可能会遇到问题。 【描述】"基于PHP的迅捷php网络留言本 GBK.zip"表明这是一个快速、简洁的PHP留言本解决方案,特别适合初学者或者...

    基于PHP的Color 多彩贴吧GBK.zip

    GBK是中文编码标准,用于兼容大量的简体中文字符,确保在网页显示时不出现乱码问题。 【描述】描述中的"基于PHP的Color多彩贴吧GBK.zip"进一步确认了这是一个与PHP相关的项目,其目标是实现色彩丰富的贴吧界面。....

    基于PHP的迅捷php网络留言本GBK源码.zip

    此外,还可以了解GBK编码在实际项目中的应用,以及如何处理多语言环境下的字符编码问题。对于初学者,这是一个很好的实践项目,可以提升PHP编程和Web开发技能;对于经验丰富的开发者,这个源码可能提供了一些优化和...

    PHP输出中文乱码问题.docx

    而在Linux环境下,尽管GBK编码不会报错,但可能导致文件名乱码,无法正确读取。一种可行的解决方案是使用纯字母和数字作为文件名,将原始的中文名字存储在数据库中,这样在调用`move_uploaded_file()`时就不会遇到...

    基于PHP的AKCMS政府网站系统 php版 GBK.zip

    【标题】"基于PHP的AKCMS政府网站系统 php版 GBK.zip" 描述了一个使用PHP语言开发的政府网站管理系统,该系统特别强调了GBK编码的支持,这是针对中文字符集的一种编码方式,尤其适用于处理大量的中文内容。...

    PHP实例开发源码—智能采集侠 php版 GBK.zip

    【标题】"PHP实例开发源码—智能采集侠 php版 GBK.zip" 是一个基于PHP编程语言的项目源码包,特别的是它使用了GBK编码,这是早期在中国大陆广泛使用的汉字编码标准,对于处理中文字符集有着重要的作用。这个源码可能...

    基于PHP的AKCMS企业网站系统php版GBK源码.zip

    【描述】中的"基于PHP的AKCMS企业网站系统php版GBK源码.zip"进一步强调了这个系统是用PHP实现的,并且提供了GBK编码的源代码。源码的提供意味着用户可以查看、修改和自定义系统的核心功能,以适应特定的企业需求。这...

    基于PHP的AKCMS政府网站系统 php版GBK.zip

    GBK编码的使用表明该系统支持中文,这是中国地区政府网站普遍需要的功能。 【描述】"基于PHP的AKCMS政府网站系统 php版GBK.zip"的描述简洁明了,再次确认了该系统基于PHP技术,并且是针对政府网站设计的GBK版本。这...

    php上传文件中文文件名乱码的解决方法

    在这个场景中,我们可以在文件上传之前,使用iconv函数将文件名从UTF-8编码转换成GBK编码,然后再进行上传操作。这样,即使服务器默认使用GBK编码,也能正确处理和识别中文字符。 iconv函数的基本使用格式如下: ``...

    基于PHP的科威php网址导航系统简体中文GBK版.zip

    【GBK编码】GBK是GB2312编码的扩展,包含了更多的汉字字符,适用于简体中文环境。在PHP中处理GBK编码时,可能需要使用iconv或者mb_string等扩展进行编码转换,确保数据正确显示。 【文件名】132678304748616848可能...

    基于PHP的zmcms之高仿phpweb红酒模板asp版v1.46gbk源码.zip

    【标题】"基于PHP的zmcms之高仿phpweb红酒模板asp版v...GBK编码的源码需要在相应环境下打开,以避免字符显示问题。而具体的132692522227416298文件可能是开发过程中产生的临时文件,其详细作用需要根据实际内容来判断。

Global site tag (gtag.js) - Google Analytics