<?php
rename("文本.txt","ctt.txt");
?>
Warning: rename(文本.txt,ctt.txt) [function.rename]: No such file or directory
上面的代码出错如果是英文名就可以,是不是php的rename函数不支持中文名,有什么办法可以解决这个问题吗? 

解决方案 »

  1.   

    做个了一个测试。我的系统XP SP3,版本PHP 5.2.8,测试重命名中文文件名,正常,没有楼主的问题。楼主用的是什么操作系统???
      

  2.   

    win下面把php编码改ansi的试试。
      

  3.   

    Linux下的话,注意文件名的编码.
    如果文件名本身是utf-8,程序编码却不是的话.自然是改不掉的
      

  4.   

    谢谢大家 我用的环境是 win xp sp2 php 5.2.6  zd 用的是utf-8的编码  我发现 用md5_file也出错 2楼说的文件名写错了不太可能我式了 很多次了。
      

  5.   

    俺不是叫你换成ansi的编码试试嘛。
    微软给文件和目录的编码可不是用的utf-8
      

  6.   

    我也碰到过同样的问题,这个是编码的问题,要用mb_convert_encoding函数转码才行,我用的日文系统,编码是shift-jis,如果你是中文系统的话我猜应该是gb2312吧$str = mb_convert_encoding($str, "gb2312", "utf-8");
      

  7.   

    都错了   其实是php.ini 里面设置问题  如果使用PHP CGI版本的 基本会发生这个问题