以前windows的服务器被别人直接丢了很多中文文件名的图片,现在换到linux上面了,中文的图片就不能访问了,如http://www.gopalau.net/files/ppr/%e5%9b%bd%e7%8e%8b%e4%b8%8e%e7%8e%8b%e5%90%8e%e9%a4%90%e5%8e%85.jpg
网上找了很多,都说需要mod_encoding,但是按照相关方法还是不行,有些rpm也装不上,或是没有资源了。
我的服务器类型是:apache/2.4.6 (centos) php/5.4.16
请问有没有什么方法能解决,谢谢了。
@xuzuning
%E5%9B%BD%E7%8E%8B%E4%B8%8E%E7%8E%8B%E5%90%8E%E9%A4%90%E5%8E%85.jpg
是 utf-8 的 国王与王后餐厅.jpg 的 url 编码
你在迁移服务器时注意到中文文件名的字符集了吗?
也就是说你的新服务器上的对应目录里有 国王与王后餐厅.jpg 这个文件吗?
从截图上开,你的 web 服务器是不支持中文 url 的(Apache 默认就是不支持中文 url 的)
%E5%9B%BD%E7%8E%8B%E4%B8%8E%E7%8E%8B%E5%90%8E%E9%A4%90%E5%8E%85.jpg
是 utf-8 的 国王与王后餐厅.jpg 的 url 编码
你在迁移服务器时注意到中文文件名的字符集了吗?
也就是说你的新服务器上的对应目录里有 国王与王后餐厅.jpg 这个文件吗?
从截图上开,你的 web 服务器是不支持中文 url 的(Apache 默认就是不支持中文 url 的)
我的程序是 gbk 编码的
也就是说你在服务器上的中文文件名也是 gbk 编码的
你并没有如实反映情况!
你要按 gbk 中文做 url 编码
http://www.gopalau.net/files/PPR/%B9%FA%CD%F5%D3%EB%CD%F5%BA%F3%B2%CD%CC%FC.jpg
我的程序是 gbk 编码的
也就是说你在服务器上的中文文件名也是 gbk 编码的
你并没有如实反映情况!
你要按 gbk 中文做 url 编码
http://www.gopalau.net/files/PPR/%B9%FA%CD%F5%D3%EB%CD%F5%BA%F3%B2%CD%CC%FC.jpg
能不能给我一个正则表达式,将内容里面的 urlencode(iconv("utf-8","gbk","祖宁.jpg")),谢谢老大。
我说你 没有如实反映情况,是因为:
你的中文文件名实际是 gbk 的,而你却说已经转成 utf-8 的了
你用 utf-8 的中文文件名,去访问 gbk 的中文文件,当然是找不到的
XZN
为了跨平台还是建议不要用中文命名
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号