首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

奇怪!大伙勿必来帮忙

2012-12-24 
奇怪!大家勿必来帮忙请大家耐心看下去,帮我分析分析。首先声明,文件是utf-8编码无疑,主机也都是linux。经多

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

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

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

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


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

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




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


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

[最优解释]
http 头信息中有
MS-Author-Via: DAV
而 DAV 的含义是 The server's preferred method for authoring is WebDAV
WebDAV 是微软的 http 协议扩展

据此猜测该服务器总是按 unicode 编码处理多字节文字的
对应的中文就是 gbk
[其他解释]
浏览器是utf-8编码么

<a href="?str=爱无限">爱无限</a>  这样如何
[其他解释]
既然你说“勿必来帮忙”,那我就路过算了


提示 ASCII(25)==%
[其他解释]
查看一下主机默认的编码是不是utf8
[其他解释]
引用:
浏览器是utf-8编码么
<a href="?str=爱无限">爱无限</a>  这样如何


1、要知道,我肯定是用同一个浏览器测的,头两个主机正常,新主机不正常。
2、还是乱码,得iconv( 'gb2312','utf-8', $_GET['str']);

怪,本来所传的%E7%88%B1%E6%97%A0%E9%99%90已是utf-8编码,接收显示为什么还转码,是主机系统设置了什么么?
[其他解释]
勿来帮忙
[其他解释]
引用:
查看一下主机默认的编码是不是utf8

怎么查这个呢,请问
[其他解释]
1、用echo ini_get('default_charset');查,输出:utf-8
没错。

2、用echo mb_detect_encoding($_GET['str']);查(str.php?str=%E7%88%B1%E6%97%A0%E9%99%90),输出:CP936
问题出现了!——不是utf-8
[其他解释]
引用:
http 头信息中有
MS-Author-Via: DAV
而 DAV 的含义是 The server's preferred method for authoring is WebDAV
WebDAV 是微软的 http 协议扩展

据此猜测该服务器总是按 unicode 编码处理多字节文字的
对应的中文就是 gbk
老大那怎么办呢?点拔一下。
[其他解释]
好了,联系到主机商,主机商给调好了,是它们主机的事。结帖!

热点排行