这是一个创建于 3069 天前的主题,其中的信息可能已经有所发展或是发生改变。
<?php
//1
echo rawurlencode(iconv("utf8", "gbk", '黄金口岸.jpg')); //输出%BB%C6%BD%F0%BF%DA%B0%B6.jpg
echo '<br/>';
//2
echo iconv("gbk", "utf8",rawurldecode('%BBƽ%F0%BFڰ%B6.jpg')); //黄金口岸.jpg
echo '<br/>';
//3
echo '%BBƽ%F0%BFڰ%B6.jpg';
?>
因为上传使用到了中文文件名,上传到底图片大量类似%BBƽ%F0%BFڰ%B6.jpg 这样半乱码图片文件名
现在因移动后在新服务器( 1 )输出文件现在%BB%C6%BD%F0%BF%DA%B0%B6.jpg 无法匹配到服务器文件夹%BBƽ%F0%BFڰ%B6.jpg 图片,但偶然测试得到( 2 )%BBƽ%F0%BFڰ%B6.jpg 反解析得到黄金口岸.jpg 这个图片中文名。
( 3 )'黄金口岸.jpg' -》 ' %BBƽ%F0%BFڰ%B6.jpg'
如何转移得到?本来服务器使用 rawurlencode(iconv("utf8", "gbk", '黄金口岸.jpg'));可以得到%BBƽ%F0%BFڰ%B6.jpg
请大家帮帮我看一下
2 条回复 • 2016-07-25 20:21:34 +08:00
|
|
1
DreamCMS 2016-07-25 16:25:46 +08:00
-。- 大神们 帮我瞧瞧
|
|
|
2
imn1 2016-07-25 20:21:34 +08:00
我一下也说不上什么理论,但 url 不能单纯以字符集编码理解的,不了解的话不要随便用,我一向都避免直接用 urlencode 处理多字节字符 找到一个说明 http://graphemica.com/%C6%BD 你参考一下,就是“ƽ”这个字符的编码, URL 编码就是%C6%BD
|