奇怪!大家勿必来帮忙
请大家耐心看下去,帮我分析分析。
首先声明,文件是utf-8编码无疑,主机也都是linux。经多次测试――
现在用的两个主机分别是华夏名网和赢网的,下面的:
<a href="?str=%E7%88%B1%E6%97%A0%E9%99%90">爱无限</a><br />
<?php<br />
echo $_GET['str'];<br />
?>
文件都能显示中文“爱无限”。代码接收表现正常。
但我新买了中电的空间,却发生奇怪的现象,即:
<a href="?str=%25E7%2588%25B1%25E6%2597%25A0%25E9%2599%2590">爱无限</a>(这里str参数――要再urlencode一次)<br />
<?php<br />
echo $_GET['str'];<br />
?>
或
<a href="?str=%E7%88%B1%E6%97%A0%E9%99%90">爱无限</a><br />
<?php<br />
echo iconv( 'gb2312','utf-8', $_GET['str']);<br />
?>
才能正确显示中文“爱无限”,是怎么回事呢!
文件编码已是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
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn