为了账号安全,请及时绑定邮箱和手机立即绑定

包含中文字符url访问服务器中文文件名资源

包含中文字符url访问服务器中文文件名资源

PHP
猛跑小猪 2019-03-12 05:05:11
describle 环境:PHP + Nginx服务器为Ubuntu10,字符编码为utf-8.现在我有些资源文件是中文名,通过url访问这些资源文件(Nginx服务器配置静态文件)。 服务器脚本通过header函数设置浏览器编码为utf-8 例子:http://images.61duocai.com/flash/xueshuxue/统一测量标准.swf,但是该文件报个404 not found. try 然后我做了以下处理:使用 iconv函数和mb_convert_encoding,把这个中文文件名转成gb2312. 但是一打印成这样: http://images.61duocai.com/flash/xueshuxue/ͳһ������׼.swf. 我期望的应该是这样: http://images.61duocai.com/flash/xueshuxue/ͳһ²âÁ¿±ê×¼.swf question 对于使用包含中文的url访问资源,你们提供一些思路吗?其实我很想知道为什么我将中文转换成了gb2312,HTML charset也设置成了utf-8形式,最终的结果不是预期的那样,感觉像是又搞了一次编码。为什么会这样?谢谢。 补充内容 我已经尝试过urlencode,分别对http://images.61duocai.com/flash/xueshuxue/ͳһ������׼.swf 和 http://images.61duocai.com/ͳһ²âÁ¿±ê×¼.swf, 进行编码结果是一样,但是最终还是访问不到服务器资源,因为服务器最终还是会对url解码的。 Append: 我现在想知道ͳһ²âÁ¿±ê×¼这种是什么编码? 我的处理方式 设置无语言编码LC_ALL=C7z解压然后convmv批量改名
查看完整描述

7 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

urlencode

查看完整回答
反对 回复 2019-03-18
?
互换的青春

TA贡献1797条经验 获得超6个赞

最后的解决方案,批量处理服务器上的中文名称,转成拼音。

查看完整回答
反对 回复 2019-03-18
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

%e7%bb%9f%e4%b8%80%e6%b5%8b%e9%87%8f%e6%a0%87%e5%87%86.swf
查看完整回答
反对 回复 2019-03-18
?
浮云间

TA贡献1829条经验 获得超4个赞

尽量不要用中文名。。

查看完整回答
反对 回复 2019-03-18
  • 7 回答
  • 0 关注
  • 734 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信