打印

一个php问题不解:(

一个php问题不解:(

一个php问题不解:(
引用:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>量子光学课件</TITLE>
<meta name="GENERATOR" content="Quanta Plus">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>
<BODY>
<?php
include ("readme.html");
$handle=opendir('.');

while ($file = readdir($handle)) {
if ($file!= "readme.html" && $file!="index.php" && $file!="." && $file!="..")
{
echo "<a href=".$file.">".$file."</a><br>";
}
}
closedir($handle);
?>
</BODY>
</HTML>
目的是想列出当前目录下的文件,并做成链接的形式。运行也没有错,很正常。。。
问题就出在当目录下存在的中文文件名时,程序所给出的链接在win的ie下不能打开。说不存在该地址  我猜想应该是编码的问题,但是应该如何改呢?

TOP

如果tingxx使用的非Windows服务器的话,保持charset=utf-8就OK

使用Apahce遍历DocumentRoot下的文件岂不是更简单

TOP

引用:
如果tingxx使用的非Windows服务器的话,保持charset=utf-8就OK
意思是将
引用:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
将成
引用:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
吗?
引用:
使用Apahce遍历DocumentRoot下的文件岂不是更简单 Mr. Green
这名话是什么意思?难道有什么更好的方法吗?仔细说一说嘛
初学php,从书上抄一些代码应付老师的差师  

TOP

我晚上回家好好给你检测一下,我现在公司

TOP

修改 apache 的 conf 文件,使默认编码为你的系统所使用的编码。

TOP

引用:
修改 apache 的 conf 文件,使默认编码为你的系统所使用的编码。
一来我没有改apache的conf文件的权利,二来含有中文的文件在我的linux下是可以打开的。却是ie不能打开....
IE的兼容太差了   

大位大哥可以到这个地方试试
www.magiclinux.org/people/tingxx/test

TOP

试试用 php 代码转换成 %xx 的方式,应该有这样的函数。

TOP

%xx这种格式是不是utf-8格式??

TOP

通过使用
rawurlencode 把字符变成%xx的形式,这样ie是可以打开了,但是ie得到的文件名却是乱码....一个奇怪的事就是在不使用rawurlencode的情况下,ie下使用其它的下载工具都可以正确的下载..惟有这个ie...真恶心

算了,还是改用英文的文件名得了。真是受不了了

TOP


8bit 文字在网络上总是有问题…………

TOP