javascript

位置:IT落伍者 >> javascript >> 浏览文章

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


发布日期:2020年10月02日
 
解决js UTF-8传参到GBK页面乱码问题

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

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

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

                        代码如下                                        <!DOCTYPE  html>  
            <html  xmlns=“:lang=“zhCN” lang=“zhCN”>  
            <head>  
            <meta  httpequiv=“ContentType” content=“text/html; charset=gbk” />  
            </head>  
            <body>  
            <h>正在跳转到相应服务器……</h>  
            
            <?php  
            $url  = array(  
            ‘tmall’ =>  ‘  
            ’buy’=>  ‘  
            );  
            if(  $_GET[url] == ” && $_GET[q] == ” )  
            echo  ‘<script>alert(“参数有误点确定后将自动跳转回首页”);windowlocationhref=“http://’$_SERVER[HTTP_HOST]’”</script>’;  
            else
            {  
            echo  ‘<script>windowlocationhref=“‘$url[$_GET[url]]iconv(‘UTF’GBK’$_GET[q])’”</script>’;  
            }  
            
            ?>  
            
            </body>  
            </html>            

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

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

                        代码如下                                                   

<script  type=”text/javascript” src=”

                        

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

                        代码如下                                                   

<script  type=”text/javascript” src=”testjs”  charset=”utf″></script>

                        

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

               

上一篇:jquery动态增加text元素以及删除文本内容实例代码

下一篇:jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码