>백엔드 개발 >PHP 튜토리얼 >奇怪!大伙儿勿必来帮忙

奇怪!大伙儿勿必来帮忙

WBOY
WBOY원래의
2016-06-13 11:06:471402검색

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

首先声明,文件是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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.