1、重命名某个目录中的文件名,其代码,如图1

2、报错:rename(E:/wwwroot/avatar/BEIJI/侯森.jpg,E:/wwwroot/avatar/BEIJI/378477.jpg): ϵͳ�Ҳ���ָ�����ļ��� (code: 2),如图2

3、使用 file_exists 函数,检查文件是否存在,如果存在,打印1,如果不存在,打印0,如图3

4、打印结果为0,表示检查文件的结果为不存在,如图4

5、打开网址:http://php.net/manual/zh/function.rename.php ,发现一段提示:,用以解决此类问题,如图5
翻译:在windows(XP,vista,7 …)http://fr.wikipedia.org/wiki/Windows-1252“,如果你的文件名包含口音,它基本上不起作用,所以使用iconv函数从 utf-8到cp1252如下:

6、iconv — 字符串按要求的字符编码来转换,将字符串 E:/wwwroot/avatar/BEIJI/侯森.jpg 从 UTF-8 转换编码到 GB2312,代码,如图6

7、打印结果为1,表示检查文件的结果为存在,如图7

8、最终实现代码,如图8

9、目录 E:/wwwroot/avatar/BEIJI 中的文件,如图9

10、运行脚本,目录 E:/wwwroot/avatar/BEIJI 中的文件,已经重命名成功,如图10

11、运行脚本,报错:iconv(): Detected an illegal character in input string,如图11
翻译:iconv():检测到输入字符串中存在非法字符

12、打印文件名,发现非法字符应该为 吴䶮,如图12

13、将 GB2312 修改为 GB18030(如果修改为GBK的话,仍然报错,GB18030字符集包含GBK字符集和中日韩(CJK) Ext-A ),如图13

需要长期技术维护或远程问题排查?
我是拥有 15+ 年经验的 PHP / Go 后端工程师,长期关注已有系统维护、Bug 修复、性能优化、服务器排查、WordPress 网站维护和小功能迭代。
如果你的项目遇到以下情况,可以先从一次小问题排查开始合作:
- ✅ PHP / Laravel / Yii2 老项目无人维护
- ✅ Go / Gin 后端接口需要排查或优化
- ✅ WordPress 网站访问慢、报错或插件冲突
- ✅ Nginx / MySQL / Redis / Linux 服务器异常
- ✅ CDN / Cloudflare / DNS / HTTPS 配置问题
- ✅ 需要长期远程技术支持或兼职维护
更多介绍请查看:关于我 & 合作
微信:13980074657
邮箱:shuijingwanwq@gmail.com
Telegram:@shuijingwan
GitHub:https://github.com/shuijingwan

发表回复