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

解决方案 »

  1.   

    网站总体编码用的是UTF-8所以<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />不能改这个!
      

  2.   

    document.write(escape('汉字试试'));
      

  3.   

    哦不好意思,测试了一下,上面这句只能在传递参数时使用,直接document.write('汉字'),---- 没有乱码啊   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      

  4.   

    不能改就不知道了,我的话会改那个utf-8
      

  5.   

    <script charset="gb2312" >
      

  6.   

    <script charset="gb2312" > 这个不可以!
      

  7.   

    把js文件保存成utf-8编码,不行存为unicode
      

  8.   

    没别的办法的话,这样办<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>  function example()
             {
                    var msg=EncodeUtf8("叫你转换不成,强制转换你,嘿嘿");
                    alert(msg);
              }
    这样引用
      

  9.   

    用记事本打开JS文件,另存一下,保存的时候选择编码方式,选Utf-8的,输出的时候就不会是乱码了