王新阳

wangxinyang

解决阿里云虚拟主机(linux系统)不支持中文文件名的问题

网站根目录有如下文件:


通过浏览器访问时,问题如下图:

原因 linux 系统文件名都是utf-8编码,所以只需要把文件名改为utf-8格式即可:
1、通过utf-8编码的php上传时,文件名会自动变为utf-8格式,而且看起来像乱码,如下:

此时可直接通过浏览器访问下载。
2、中文.docx,使用ftp工具上传到服务器后,文件名还是gbk编码,虽然看起来正常,但是通过浏览器访问时却是 404 Not Found。

echo convert_encoding('中文.docx', 'utf-8', 'gbk'); //GBK转UTF-8

人工复制生成的字符,重命名服务器上的文件,即可通过浏览器访问中文名称的文件了。

这只是提供一种思路,而且问题都是在"本地为WINDOWS系统,服务器为LINUX系统"的情况下遇到的。

2022-01-13
2024-11-22 星期五 农历十月二十二