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 回答
- 0 关注
- 758 浏览
添加回答
举报
0/150
提交
取消