请问php自动跳转传值乱码,该怎么解决?

//接值
$zzwm = $_POST['zzwm'];
//自动跳转
Header("Location: hello.php?zzwm=$zzwm");

hello页面是
$zzwm = $_GET['zzwm'];

但是问题来了··如果我传的是单数的汉字的话在hello页面接到的就是乱码
如果用双数个汉字的话接到的就是正常我写的汉字··但是不管单数个汉字还是双数个 地址栏里始终都是乱码 这个不重要·关键就是为什么单数个汉字接到的就是乱码呢··我用的都是UTF-8··都是乱码的话我都能忍了··

请高手解答
我的是在页1有个Form表单··实现查询功能·里面有2个字段·输入字段1跳到页2·输入字段2跳到页3·所以我的这个Form表单向当页提交·判断是输入了哪个字段之后(两个都输入按字段1跳)在实行自动跳转+传值·下个页面接受值 进行查询·显示· 就这个逻辑·如果我在Form表单里填写的汉字字数是奇数的话 到下个页面就是乱码 如果表单里填的汉字字数是偶数的话 到下个页面就能正常使用· 但地址栏不管传多少字都是乱码··郁闷·我的自动跳转用的是 Header("Location: hello.php?zzwm=$zzwm");

德玛西亚99
浏览 222回答 4
4回答

largeQ

路径不能直接传递汉字传递汉字前先转换:$zzwm = htmlentities(urldecode($_POST['zzwm']));受到汉字信息,把信息编码$zzwm = urlencode($_GET['zzwm']);你也可以用js处理跳转试一下这样吧

九州编程

是你的设计就有问题首先说为什么传递参数中不能有中文因为你做的程序可能会在任何服务器上运行,有些服务器可能是没有中文支持,也没有UTF-8支持,你的程序会根本无法运行。就如同网址不能用中文一样。你只能把首页命名为index.php而不能命名为“首页.php”一个道理其次说一下如何解决据我判断,你的hello.php是为了告诉用户一些信息,比如发布成功,添加失败等。你需要提炼出所有的中问提示,放在一个公共数组中,例如:$messages = array('sendok' => '发布成功','addok' => '添加成功‘,)这样,你传递参数只需要传递sendok,然后在显示的时候显示$messages[$_GET['zzwm']],就可以了。这样也有利于你的程序翻译成多国语言,只需要替换你存放$messages的数组的文件即可。

蓝山帝景

function covertToUTF8($val){if(empty($val) || !function_exists('mb_convert_encoding'))return false;if(is_array($val)){foreach($val as &$v){$v = covertToUTF8($v);}}else{$val = mb_convert_encoding($val, 'UTF-8', 'GBK');}return $val;}$_GET = covertToUTF8($_GET);var_export($_GET);在调用GET前作用如果还是一样,那就不是编码问题,可能你截取了汉字的一部分。

aluckdog

一、用HTTP头信息(Header函数)也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxxx/xxxx"),页面的属性("No cache", "Expire")等等。用HTTP头信息使Php自动跳转到另外一个页面的方法如下:<?php$url = czbin.phpHeader("HTTP/1.1 303 See Other");Header("Location: $url");exit;?>注意一下,"Localtion:"后面有一个空格。二、利用HTML标记(META中的REFRESH属性)用HTML标记,就是用META的REFRESH标记,举例如下:<?php $url = czbin.php;?><HTML><HEAD><META HTTP-EQUIV="REFRESH" CONTENT="10; URL=<? echo $url;?>></HEAD><BODY></BODY></HTML>注:这里的CONTENT="10 的意思是说10秒以后跳转。三、用JAVASCRIPT脚本来实现举例如下:<?php$url=czbin.php;echo "<!--<SCRIPT LANGUAGE="JavaScript">";echo "location.href='$url'";echo "</SCRIPT>-->";?>
打开App,查看更多内容
随时随地看视频慕课网APP