当前位置: 代码迷 >> ASP.NET >> 网站总体编码用的是UTF-8这个是不能改的!在js的一个函数里要用到document.write();输出一些汉字却得到的是乱码如何解决
  详细解决方案

网站总体编码用的是UTF-8这个是不能改的!在js的一个函数里要用到document.write();输出一些汉字却得到的是乱码如何解决

热度:4074   发布时间:2013-02-25 00:00:00.0
网站总体编码用的是UTF-8这个是不能改的!在js的一个函数里要用到document.write();输出一些汉字却得到的是乱码怎么解决?
网站总体编码用的是UTF-8(这个是不能改的!)在js的一个函数里要用到document.write(),来输出一些汉字,却得到的是乱码!怎么解决?

------解决方案--------------------------------------------------------
meta加上charset
行不?
------解决方案--------------------------------------------------------
document.write(escape('汉字试试'));
------解决方案--------------------------------------------------------
哦不好意思,测试了一下,上面这句只能在传递参数时使用,直接document.write('汉字'),---- 没有乱码啊 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
------解决方案--------------------------------------------------------
不能改就不知道了,我的话会改那个utf-8
------解决方案--------------------------------------------------------
注意全站编码统一!
------解决方案--------------------------------------------------------
<script charset="gb2312" >

------解决方案--------------------------------------------------------
学习一下
------解决方案--------------------------------------------------------
探讨
<script charset="gb2312" >

------解决方案--------------------------------------------------------
把js文件保存成utf-8编码,不行存为unicode
------解决方案--------------------------------------------------------
没别的办法的话,这样办
JScript code
<script language="javascript">         function example()         {                var msg=EncodeUtf8("叫你转换不成,强制转换你,嘿嘿");                alert(msg);          }     function EncodeUtf8(s1)        {            var s = escape(s1);            var sa = s.split("%");            var retV ="";            if(sa[0] != "")            {                retV = sa[0];            }            for(var i = 1; i < sa.length; i ++)            {                if(sa[i].substring(0,1) == "u")                {                    retV += Hex2Utf8(Str2Hex(sa[i].substring(1,5)));                                       }                else retV += "%" + sa[i];            }                          return retV;        }        function Str2Hex(s)        {            var c = "";            var n;            var ss = "0123456789ABCDEF";            var digS = "";            for(var i = 0; i < s.length; i ++)            {                c = s.charAt(i);                n = ss.indexOf(c);                digS += Dec2Dig(eval(n));                               }            //return value;            return digS;        }        function Dec2Dig(n1)        {            var s = "";            var n2 = 0;            for(var i = 0; i < 4; i++)            {                n2 = Math.pow(2,3 - i);                if(n1 >= n2)                {                    s += '1';                    n1 = n1 - n2;                }                else                s += '0';                              }            return s;                      }        function Dig2Dec(s)        {            var retV = 0;            if(s.length == 4)            {                for(var i = 0; i < 4; i ++)                {                    retV += eval(s.charAt(i)) * Math.pow(2, 3 - i);                }                return retV;            }            return -1;        }         function Hex2Utf8(s)        {            var retS = "";            var tempS = "";            var ss = "";            if(s.length == 16)            {                tempS = "1110" + s.substring(0, 4);                tempS += "10" +  s.substring(4, 10);                 tempS += "10" + s.substring(10,16);                 var sss = "0123456789ABCDEF";                for(var i = 0; i < 3; i ++)                {                    retS += "%";                    ss = tempS.substring(i * 8, (eval(i)+1)*8);                                                                                retS += sss.charAt(Dig2Dec(ss.substring(0,4)));                    retS += sss.charAt(Dig2Dec(ss.substring(4,8)));                }                return retS;            }            return "";        } <script>
  相关解决方案