html界面js传值乱码,解决js UTF-8传参到GBK页面乱码问题

js UTF-8传中文参数到GBK,之所以不行是因为其字符长度不同,1个中文在UTF-8中为3个字符,而GBK为2个字符,所以导致encodeURL后不同编码内容不一致。

要转换编码,怎么都离不开服务器,所以最佳办法是做一个中转页面,你可以提示“正在跳转到xxx”,但是这个页面的实质是处理中文参数问题,通过js,用URl传参到中转页面,中转页面再通过$_GET来判断是否有参数,有则用iconv转换编码,然后再组合转换好的URL参数,跳转到GBK页面。

下面是作者的一个简单的中转业,供不懂的同学参考

代码如下

正在跳转到相应服务器……..

$url = array(

‘tmall’ => ‘http://s8.taobao.com/search?commend=all&style=grid&pid=mm_11039324_2536738_9491366&mode=66&viewIndex=10&user_type=1&q=’,

’360buy’=> ‘http://search.360buy.com/Search?utm_source=show.union.360buy.com&utm_medium=tuiguang&utm_campaign=t_19195_&keyword=’,

);

if( $_GET['url'] == ” && $_GET['q'] == ” )

echo ‘’;

else

{

echo ‘’;

}

?>

UTF-8页面引用外部编码为GBK的JS文件编码的处理

比如对于QQ的IP返回城市的接口的js我们使用下面的代码,可是在UTF-8页面中正常的显示GBK编码的js

代码如下

这样子我就成功的解决了在UTF-8页面中引入编码为GBK的JavaScript文件乱码问题了。而且不需要额外的写函数处理GBK转UTF-8编码,同样对于GBK页面引用编码为UTF-8编码的JavaScript文件如果出现乱码问题,可以使用下面的代码来解决

代码如下

此方法是对于在js文件中出现汉字中文,以及其他容易造成在GBK与UTF-8编码错误字符的时候使用,对于纯英文的就不需要了。如果为了保险,加上也无妨~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值