首页 > JavaScript/ 网络技术 > UTF-8页面引用外部编码为GBK的JS文件编码的处理

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

昨天写的一个根据来访者IP返回来访者所在地区的天气情况的WordPress天气插件侧边栏,效果见本博客的首页侧边栏“天气预报”。其中根据IP返回来访者城市地理位置的方法是采用了QQ的一个接口:http://fw.qq.com/ipaddress,而这个接口提供的js为GBK编码的,由于我的博客是UTF-8编码的,所以再次使用返回的城市名称在我页面显示的是乱码,而且不能引用的。

上网找了很多关于JavaScriptGBK编码转换为UTF-8编码的js函数,可是都无济于事,并且如果单单为了编码问题就单独写一个js函数来处理GBK转UTF-8编码,这是很不合理的~由于本来我引用的是QQ的根据IP返回城市接口,我自己是不能够改变QQ官方的数据编码格式的,解决的方法唯有我在我的程序中把GBK编码的js强制转换为utf-8的格式,怎么转换是个比较难的方式,既然不能通过写js函数,那就只用用其他的方式了。

最后我在网上找到了一个很好的解决方法,

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

<script type=”text/javascript” src=”http://fw.qq.com/ipaddres” charset=”gb2312″></script>

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

<script type=”text/javascript” src=”test.js” charset=”utf-8″></script>

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

相关文章

"UTF-8页面引用外部编码为GBK的JS文件编码的处理"已有12条评论
    天缘

    我以前写是调用新浪的,不过没你的返回值丰富。

    2009年12月13日 23:21 回复 引用

    admin

    WordPress天气插件吗?那就用我的吧~呵呵

    2009年12月13日 23:24 回复 引用

    zjjjxww

    我的情况基本与你一样,可是你的方法仍然解决不了我的问题,仍然是在UTF8的文件中显示外部JS返回的GBK文字为乱码。
    我的qq:673718457

    2010年01月24日 23:42 回复 引用

    断桥残雪

    那要看你引入的js到底是GB2312还是其他,然后使用charset=”编码”就可以啦

    2010年01月25日 02:30 回复 引用

    荧火之光

    大神,我与你遇到了同样的问题,,在gb2312转utf8上,白白花费了3个多小时了,无意搜到你的这篇文章,很是感谢

    2010年04月18日 05:03 回复 引用

    爱仕达

    动态创建的js 可以吗

    2010年12月19日 21:38 回复 引用

    断桥残雪

    可以的

    2010年12月19日 22:02 回复 引用

    win-skill.com

    不起作用,UTF8的页面嵌入gbk的js还是乱码。

    2011年03月05日 07:26 回复 引用

    断桥残雪

    首先你要保证你的js代码是不是gbk格式,如果是utf8,你引入也是错的

    2011年03月05日 16:40 回复 引用

    echo.k

    多谢,多谢,偶然看到,给了我一个思路,解决了目前遇到的难题。

    2011年03月22日 17:39 回复 引用

    游客

    解决了,谢谢楼主,我转来转去搞了半天,呵呵

    2011年10月11日 01:37 回复 引用

    游客

    IE6下失效

    2011年11月20日 20:00 回复 引用

文明发言,你好我也好
正在提交,请稍后...
返回顶部