欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

linux中文文件名不能访问,求教,在线等。

程序员文章站 2022-05-07 18:37:45
...
以前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 编码的

你并没有如实反映情况!


之前因为直接从window打包压缩放到linux上面的,解压出来是乱码如:PPR-+-+-恽芯?++ャ鳞?使.jpg,所以我就直接再放了一个“国王与王后餐厅.jpg”上去,你说的是没有如实反映情况是什么呢?能告诉你需要我提供哪些信息呢?

你要按 gbk 中文做 url 编码
http://www.gopalau.net/files/PPR/%B9%FA%CD%F5%D3%EB%CD%F5%BA%F3%B2%CD%CC%FC.jpg


我也想过将url编码转换一下,但是图片全部是在文章里面隔三岔五的linux中文文件名不能访问,求教,在线等。显示一下

能不能给我一个正则表达式,将内容里面的linux中文文件名不能访问,求教,在线等。 urlencode(iconv("utf-8","gbk","祖宁.jpg")),谢谢老大。

我说你 没有如实反映情况,是因为:
你的中文文件名实际是 gbk 的,而你却说已经转成 utf-8 的了

你用 utf-8 的中文文件名,去访问 gbk 的中文文件,当然是找不到的

XZN


有没有办法修改liunx配置
服务器类型是:Apache/2.4.6 (CentOS) PHP/5.4.16
让直接可以以下面这个网址访问
http://www.gopalau.net/files/palasia-hotel-palau/帛琉大饭店游泳池.jpg (linux现在不能访问)
以前的
http://www.citssz.net/files/palasia-hotel-palau/帛琉大饭店游泳池.jpg(之前的windows可以访问)

为了跨平台还是建议不要用中文命名