首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >readdir和scandir

readdir和scandir
EN

Stack Overflow用户
提问于 2010-08-23 04:32:36
回答 2查看 8.8K关注 0票数 7

在我的本地主机上,我有两个文件:

IMG_9029_измен.размер.jpgsłońce32 opalenier1.jpg

我想通过scandir()或readdir()获得主题的文件名,但不能从文件名中提取。他们是这样的:

代码语言:javascript
复制
IMG_9029_?????.??????.jpg  and slonce32 opalenier.jpg

Window XP SP3, php5.2.12 

我怎样才能像IMG_9029_измен.размер.jpg and słońce32 opalenier1.jpg那样获得文件名呢?

EN

回答 2

Stack Overflow用户

发布于 2011-09-12 23:02:39

我假设您的php编码是utf-8。

代码语言:javascript
复制
$files = scandir($dirname);
foreach ($files as $file) {
    $filename = iconv ( "windows-1251" , "UTF-8", $file );
    echo $filename ."\n";
}

它应该适用于第一个文件,但我不知道第二个文件使用哪种编码方式。

主要问题是php 5不支持文件操作的utf-8。这是内部的安西。因此,它使用ansi读取文件名(只有8位编码)。

票数 8
EN

Stack Overflow用户

发布于 2010-08-23 05:17:07

名称可能是正确的,但您需要将页面的编码设置为UTF-8。

将其添加到页面的标题部分:

代码语言:javascript
复制
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

然后将字符串转换为UTF8,以便正确显示特殊字符。

我做了一个函数,它叫做Encoding::toUTF8().

用法:

代码语言:javascript
复制
$utf8_string = Encoding::toUTF8($utf8_or_latin1_or_mixed_string);

下载:

http://dl.dropbox.com/u/186012/PHP/forceUTF8.zip

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3544772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档