奇怪!大伙儿勿必来帮忙

WBOY
Release: 2016-06-13 12:58:01
Original
1033 people have browsed it

奇怪!大家勿必来帮忙
请大家耐心看下去,帮我分析分析。

首先声明,文件是utf-8编码无疑,主机也都是linux。经多次测试――

现在用的两个主机分别是华夏名网和赢网的,下面的:

<a href="?str=%E7%88%B1%E6%97%A0%E9%99%90">爱无限</a><br />
<?php<br />
echo $_GET['str'];<br />
?>
Copy after login


文件都能显示中文“爱无限”。代码接收表现正常。

但我新买了中电的空间,却发生奇怪的现象,即:
<a href="?str=%25E7%2588%25B1%25E6%2597%25A0%25E9%2599%2590">爱无限</a>(这里str参数――要再urlencode一次)<br />
<?php<br />
echo $_GET['str'];<br />
?>
Copy after login




<a href="?str=%E7%88%B1%E6%97%A0%E9%99%90">爱无限</a><br />
<?php<br />
echo iconv( 'gb2312','utf-8', $_GET['str']);<br />
?>
Copy after login


才能正确显示中文“爱无限”,是怎么回事呢!
文件编码已是utf-8为什么还要转呢,或者说中途怎么变了呢!

------解决方案--------------------
浏览器是utf-8编码么

爱无限  这样如何
------解决方案--------------------
既然你说“勿必来帮忙”,那我就路过算了


提示 ASCII(25)==%
------解决方案--------------------
查看一下主机默认的编码是不是utf8
------解决方案--------------------
http 头信息中有
MS-Author-Via: DAV
而 DAV 的含义是 The server's preferred method for authoring is WebDAV
WebDAV 是微软的 http 协议扩展

据此猜测该服务器总是按 unicode 编码处理多字节文字的
对应的中文就是 gbk

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template