首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UTF8处理后显示不正确

UTF8处理后显示不正确
EN

Stack Overflow用户
提问于 2011-08-16 05:25:09
回答 2查看 1.9K关注 0票数 1

我有一个名为"同“的文件夹(不管我使用哪个字符或者多少个),在用php打开它后,显示了错误的字符或乱码文本。

代码语言:javascript
复制
<?php
mb_internal_encoding('utf-8');
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
    if ($file != "." && $file != "..") {
        echo $file;
    }
}
closedir($handle);
}
echo "同";
?>

返回:

代码语言:javascript
复制
Folder1index.php��同

它显示2个“字符”,就好像它没有正确地编码为UTF-8一样。由于有问题的字符的回显,浏览器将页面处理为UTF-8格式。

这是php/code的问题,还是其他原因导致它无法正常显示?(IIS等)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-16 06:13:13

问题不在于脚本或网站的UTF-8编码,而在于文件系统中文件名的编码。

您首先需要了解在文件系统级别上使用哪种编码。如果你知道了,你可以将编码后的文件名重新编码成UTF-8 (例如iconvmb_convert_encoding)。他们将显示良好,然后在您的网站上。

你写的是你在使用IIS,所以我假设你是在windows上运行的。有关详细信息,请参阅this related answer和/或相关问题。

票数 2
EN

Stack Overflow用户

发布于 2011-08-16 05:30:31

这是一个在php - How do I use filesystem functions in PHP, using UTF-8 strings?中处理utf-8文件名的很好的线程

在排序中,您需要对文件名调用urlencode/urldecode。但是,建议您使用drupal的音译模块- Different charset on different server?

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

https://stackoverflow.com/questions/7071014

复制
相关文章

相似问题

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