Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
类似于IBMi的PHP ZendServer中的mb_glob_Php_Character Encoding_Ibm Midrange_Glob - Fatal编程技术网

类似于IBMi的PHP ZendServer中的mb_glob

类似于IBMi的PHP ZendServer中的mb_glob,php,character-encoding,ibm-midrange,glob,Php,Character Encoding,Ibm Midrange,Glob,在IBM i中,以前称为/400的系统有一个包含以下元素的文件夹: Àlex Corretgé DIR carpeta sense codi > DIR test.txt STMF Barça DIR Còpia de test.txt STMF 当我使用**模式运行时,即 array(5) { [0]=> string(89) "[...]/lex Corretg

在IBM i中,以前称为/400的系统有一个包含以下元素的文件夹:

Àlex Corretgé          DIR  
carpeta sense codi >   DIR  
test.txt               STMF 
Barça                  DIR  
Còpia de test.txt      STMF 
当我使用**模式运行时,即

array(5) {
  [0]=>
  string(89) "[...]/lex Corretg"
  [1]=>
  string(81) "[...]/Bara"
  [2]=>
  string(95) "[...]/carpeta sense codis"
  [3]=>
  string(93) "[...]/Cpia de test.txt"
  [4]=>
  string(84) "[...]/test.txt"
}
注:[…]用于明确的用途

我阅读了PHP glob手册,但没有任何关于字符集问题的参考资料

我寻找mb_glob函数或类似函数。已经存在

我终于达到了我的水平

SF99115-20  IBM HTTP SERVER FOR I
以及PHP版本5.3.6扩展20090626

scandir函数运行时出现相同问题

但如果我这样做:

        $handle = opendir($globPath);
        while (false !== ($file = readdir($handle))) {
            echo  utf8_encode($file) . "\n";
        }

结果是预期的!是的,我可以编写自己的mb_glob来防止多字节问题,但是有人知道是否有正式的替代方案吗?

看起来PHP正在使用glob命令的系统实现:-如果您可以在操作系统级别上解决它,也许您可以解决这个问题。它在这里工作,在调用中返回专有名称,所以我确实怀疑这是操作系统级别的设置。。。也许不是不重要:文件名在哪个字符集?是的@hakre,是系统实现,我不能使用GLOB_BRACE,即@Wrikken应用程序创建的名称中包含非Ascii字符的文件,在charid 819中,我很好。但是从Windows上传的带有共享文件夹的文件在charid 1252中,我搞错了。谢谢如果我用STRQSH启动shell控制台并执行ls,即使使用从控制台创建的文件,也会得到错误的结果,即使用charid 284创建的echo Hello>MésIMés.txt。utf8_encodereaddir$dh按预期返回结果。