为什么以下代码错误地将1.txt
重命名为一.txt.txt
而不是一.txt
?
rename('1.txt','一.txt');
答案 0 :(得分:1)
主要是因为编码不匹配。您的脚本应使用正确的编码,此编码必须匹配文件系统编码。如果其中一个不匹配(通常是脚本),那么您将获得所描述的效果。确保您使用相同的编码或用数字实体替换您的“内联”名称(目标文件名在这里看作是“-.txt”,其中“ - ”是长划线)。
答案 1 :(得分:1)
请确保每个人都说同一个字符集。这通常通过运行正确的环境变量来修复。请注意PHP并没有真正对文件名的字符做任何事情,所以只要你不使用字符串函数来操作字符串(不幸的是,它仍然只与单字节字符串兼容)你不应该从PHP中遇到很多麻烦。