php 5.6.27 在某些机器上正常,在 Windows 10 64、PHP 5.6 下重命名中文名文件,提示错误的解决...
1、重命名某個(gè)目錄中的文件名,其代碼,如圖1
圖1
2、報(bào)錯(cuò):rename(E:/wwwroot/avatar/BEIJI/侯森.jpg,E:/wwwroot/avatar/BEIJI/378477.jpg): ??�?���?�����?��� (code: 2),如圖2
圖2
3、使用 file_exists 函數(shù),檢查文件是否存在,如果存在,打印1,如果不存在,打印0,如圖3
圖3
4、打印結(jié)果為0,表示檢查文件的結(jié)果為不存在,如圖4
圖4
5、打開網(wǎng)址:http://php.net/manual/zh/function.rename.php ,發(fā)現(xiàn)一段提示:,用以解決此類問題,如圖5
翻譯:在windows(XP,vista,7 …)http://fr.wikipedia.org/wiki/Windows-1252“,如果你的文件名包含口音,它基本上不起作用,所以使用iconv函數(shù)從 utf-8到cp1252如下:
圖5
6、iconv — 字符串按要求的字符編碼來轉(zhuǎn)換,將字符串 E:/wwwroot/avatar/BEIJI/侯森.jpg 從 UTF-8 轉(zhuǎn)換編碼到 GB2312,代碼,如圖6
圖6
7、打印結(jié)果為1,表示檢查文件的結(jié)果為存在,如圖7
圖7
8、最終實(shí)現(xiàn)代碼,如圖8
圖8
9、目錄 E:/wwwroot/avatar/BEIJI 中的文件,如圖9
圖9
10、運(yùn)行腳本,目錄 E:/wwwroot/avatar/BEIJI 中的文件,已經(jīng)重命名成功,如圖10
圖10
11、運(yùn)行腳本,報(bào)錯(cuò):iconv(): Detected an illegal character in input string,如圖11
翻譯:iconv():檢測到輸入字符串中存在非法字符
圖11
12、打印文件名,發(fā)現(xiàn)非法字符應(yīng)該為 吳?,如圖12
圖12
13、將 GB2312 修改為 GB18030(如果修改為GBK的話,仍然報(bào)錯(cuò),GB18030字符集包含GBK字符集和中日韓(CJK) Ext-A ),如圖13
圖13
總結(jié)
以上是生活随笔為你收集整理的php 5.6.27 在某些机器上正常,在 Windows 10 64、PHP 5.6 下重命名中文名文件,提示错误的解决...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php system 执行失败,PHP
- 下一篇: 音响与电脑怎么连接电脑连接不上(为什么音