php 传参编码,PHP-URL参数含汉字的传输编码问题

今天在做项目的时候需要用到从URL里面获取中文参数,结果怎么调试都不行汗~~

我先是统一调整了文件的格式,还是不行,实在不行怎么办?

那就不理他了~~全部统一转换成一种吧,上网招了一下还真的现成的函数提供,立马抄下来。

测试一下,汗,还是不行,怎么办?

想想算了,代码没办法实现,那就看看系统提供了功能没有,一查,哈,还真的有~

修改了一下,编码正确了~~代码如下哈:

下面这个是我调用的路径哈

http://…./shop/view/member/flash_opt.php?sMid=1&act=insert&no=1&sjl=第一次测试哈

下面是自动调整编码的函数哈(来源:PHP自动识别字符集并完成转码):

//识别汉字编码,因为YBlog用的是utf-8,如果引用通告发过来的是gb2312的编码的话,需要可以识别并完成编码转换

function safeEncoding($string,$outEncoding = ‘UTF-8’)

{

$encoding = “UTF-8”;

for($i=0;$i

{

if(ord($string{$i})<128)

continue;

if((ord($string{$i})&224)==224)

{

//第一个字节判断通过

$char = $string{++$i};

if((ord($char)&128)==128)

{

//第二个字节判断通过

$char = $string{++$i};

if((ord($char)&128)==128)

{

$encoding = “UTF-8”;

break;

}

}

}

if((ord($string{$i})&192)==192)

{

//第一个字节判断通过

$char = $string{++$i};

if((ord($char)&128)==128)

{

//第二个字节判断通过

$encoding = “GB2312”;

break;

}

}

}

if(strtoupper($encoding) == strtoupper($outEncoding))

return $string;

else

return iconv($encoding,$outEncoding,$string);

}

然后在需要的地发调用这个函数哈~~这样还不会正确,还需要做多一步,就是下面的红色代码哈,代码如下:

……

mysql_query(‘set names UTF8’); //这儿是最关键的哈~

$result = mysql_query(“insert into choujiangjilu(s_member_id,runtime,meno,no_id) values(“.$sMid.”,unix_timestamp(),\”” . safeEncoding($jl,’UTF-8′) . “\”,”.$no_id.”)”);

……

到此测试通过哈~~~有问题记得互相交流哈~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值