在html页面中通过url链接传递中文参数到php页面处理,传递3个汉字会出现乱码问题,传递2个汉字就不会出现问题。
代码如下:
<a href="aaa.php?region=四川省">aaa</a> 链接到aaa.php中处理时就有乱码问题
<a href="aaa.php?region=四川">aaa</a> 链接到aaa.php中处理时就不会乱码问题但是我现在想要解决传3个汉字的乱码问题,请教php高手帮帮忙。
代码如下:
<a href="aaa.php?region=四川省">aaa</a> 链接到aaa.php中处理时就有乱码问题
<a href="aaa.php?region=四川">aaa</a> 链接到aaa.php中处理时就不会乱码问题但是我现在想要解决传3个汉字的乱码问题,请教php高手帮帮忙。
解决方案 »
- file_get_contents抓取的页面某种情况下不成功
- 如何将一个页面的内容记录下来,显示在另一个页面上
- 正则替换后 "全部变成了\"
- 菜鸟新人,写的第一个程序。无奈受挫。
- 求网址过滤正则
- 可不可以根据url获取domain值?
- 大家来帮一下忙吧,应该是很简单的,谢谢了
- 如何用php得到来访者的网址。代码如何写了,请指教。
- "Fatal error: Call to a member function on a non-object in "是什么原因造成的?
- 我怎么写一句sql 来实现 自动增加的字段 , 从1 开始 ,每次加1 呢?
- 如何分组查询并现实结果?
- 快速IP地址查询 40万最新数据(2011年)
APACHE,PHP的配置文件里有设置URL的编码的
?>
<a href="<?php echo $url;?>">aaa </a>
这种方法也可以啊
既然是模板就更简单啦:<?php $url = 'aaa.php?region='.urldecode("四川省");
$tpl->assign('url',$url);
?> 模板:
<a href="<!--{$url}-->">aaa </a>模板的标签改成自己的
代码和下面一样,如下:
<tr>
<td>
<a href="aaa.php?region=四川省">aaa </a> </td>链接到aaa.php中处理时就有乱码问题 <a href="aaa.php?region=四川">aaa </a> 链接到aaa.php中处理时就不会乱码问题
在地址栏还是这样的,http://localhost/aaa.php?region=四川省 ,但是当提交到PHP文件用echo输出的时候就是“四川眩”了,两个字的就不会,我是在htm 页面中一个链接,好像用不了.urldecode ,各位大侠请在我的代码上修改好吗?在次感谢了!
return encodeURI(url);}
<a href="javascript:zm('aaa.php?region=四川省')">aaa </a>
我可以把代码贴出来 ,你帮我看一看,到底应该怎么弄,我也用了上面的朋友说的用js来做,但是提交就报错了,我把代码拿出来,请您帮我看一下,这个是htm的代码:
<tr>
<script language="javascript">
function zm(url){
return encodeURI(url);
}
</script>
<td><a href="javascript:zm('searchmember.php?region=$location & city=$location1 & search=city')">{lang same_city}</a></td>
<td><a href="searchmember.php?birth=$bday&search=babyage">{lang same_age_baby}$index[keywords]</a></td>
<td><a href="searchmember.php?birth=$bday&search=mathersame">{lang same_mather}</a></td>
<td><a href="searchmember.php?region=$location&city=$location1&street=$location2&search=street">{lang same_city_street}</a></td>
</tr>pHP文件的代码:这里是取传入的值
if(!empty($region)){$_SESSION['srchtj1']=$region;}
if(!empty($city)){$_SESSION['srchtj2']=$city;}
if(!empty($street)){$_SESSION['srchtj3']=$street;}
if(!empty($search)){$_SESSION['searchtj']=$search;}
if(!empty($bday)){$_SESSION['mather']=$bday;}
if(!empty($year)){$_SESSION['birth']=$year;}
我也在学习阶段,一边学一边做这个,
$tpl->assign('url',$url);
?> 模板:
<a href=" <!--{$url}-->">aaa </a> 这种方式还是乱码,请高手帮帮忙,解决一下.我是新手学习php.
<? php
$test="四川省";
$test1=base64_encode($test);
echo '<a href="aaa.php?region=$test1">aaa </a>';
?>另一页面使用base64_decode解开 base64_decode($region);
也应该是用PHP程序生成的吧?在生成的时候就urlencode()一下。
否则就用英文参数代替。
中文传参很容易出问题
<a href="aaa.php?region='四川省_成都市'">在php处理页面 list($t1,$t2) = split ('[_]', $pram);这就不多出问题啦。。
有时候要变通,不要死死抓做一个问题不放。
location.href=urls;index.php页面:
echo $_GET["name"];------------------------------------------------------
给分,谢谢!
好像应该是 urlencode吧 然后再urldecode
$tpl->assign('url',$url);
?> 模板:
<a href=" <!--{$url}-->">aaa </a>
//urlencode应该是这个$url = 'aaa.php?region='.urlencode("四川省");
<input type="text" name="region" size="24" value="四川省"/><button name="submit" type="submit">提交</button>
</form>
楼主想扩展名为.html 中把中文传递到php 里面。两中可行的方法
1:在生成模板的时候,直接把name转换为urlencode 然后再跳转的php里面用urldecode解码。
2:就是这种在.html页面中进行转换
var urls=index.php?name=encodeURIComponent("中文")location.href=urls;index.php页面:
echo $_GET["name"];