解决js输出汉字乱码的问题

来源:互联网 发布:计算机编程技巧与维护 编辑:程序博客网 时间:2024/04/30 00:33

最近做安卓开发,安卓客户端调用服务器页面,但是服务器编码为gbk,安卓编码为utf-8,导致js输出内容报错,前期的做法是调整js文件编码,但是会生成两个版本,很不方便,最后找到对汉字进行转码的形式进行解决。其中js对汉字转吗的函数有encodeURI、encodeURIComponent、escape。下面做一下简单介绍。

1、encodeURI和decodeURI

        [1]语法:encodeURI(string)、decodeURI(string)
[2]说明:decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。其中加密值为:其中的十六进制转义序列将被它们表示的字符替换。
[3]案例:

<script type="text/javascript">var test1="http://www.w3school.com.cn/My first/"document.write(encodeURI(test1)+ "<br />")document.write(decodeURI(test1))</script>
2、encodeURIComponent和decodeURIComponent

        [1]语法:encodeURIComponent(string)、decodeURIComponent(string)
[2]说明:decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码。其中加密值为:其中的十六进制转义序列将被它们表示的字符替换。
[3]案例:

<script type="text/javascript">var test1="http://www.w3school.com.cn/My first/"document.write(encodeURI(test1)+ "<br />")document.write(decodeURI(test1))</script>
3、escape和unescape

[1]语法:escape(string)、unescape(string)
[2]说明:unescape() 函数可对通过 escape() 编码的字符串进行解码。
[3]案例:

<script type="text/javascript">var test1="Visit W3School!"test1=escape(test1)document.write (test1 + "<br />")test1=unescape(test1)document.write(test1 + "<br />")</script>

1 0
原创粉丝点击