\u53EF\u4EE5\u5F53\u88AB\u5B50\u7528\u7684\u5730\u6BEF这个是什么编码,怎么还原成中文

解决方案 »

  1.   

    alert('\u53EF\u4EE5\u5F53\u88AB\u5B50\u7528\u7684\u5730\u6BEF');
      

  2.   

    Unicode编码啊,使用的是\u转义符,JavaScript的字符串应该能直接解释吧。
    document.write("\u53EF\u4EE5\u5F53\u88AB\u5B50\u7528\u7684\u5730\u6BEF");结果是:可以当被子用的地毯
      

  3.   

    我网页中还是显示这种代码,不显示为汉字,是不是跟网页编码有关,是用PHP写的程序,PHP有没有处理这个的函数?
      

  4.   

    我网页中还有类似:的女人们,总想把家这种编码又是什么编码,是可以正常显示的
      

  5.   


    var str = "\\u53EF\\u4EE5\\u5F53\\u88AB\\u5B50\\u7528\\u7684\\u5730\\u6BEF";alert(str);
    str = unescape(str.replace(/\\u/g, "%u"));
    alert(str);
      

  6.   


    var str = "的女人们,总想把家";alert(str);
    str = str.replace(/&#(\d+);/g, function($0, $1) {
    return String.fromCharCode($1);
    });
    alert(str);
      

  7.   

    的女人们,总想把家
    这也是Unicode,一个是十进制一个是十六进制表示
    直接为html就可以显示了var str = "的女人们,总想把家";
    str = str.replace(/&#(\d+);/g, function() {
        return String.fromCharCode(arguments[1]);
    });
    alert(str);如果你的网页是gb2312编码又想显示更复杂的字符(比如韩文),就只能用这种方式。
      

  8.   


    网页用UTF-8是不是这两种能直接显示?
      

  9.   

    可以单个字符转码,也可以直接转化成utf-8的,js有相应的办法
      

  10.   

    感谢论坛网友的方法和思路
    我现在用PHP配合正则将十六进制转换成十进制,网页能显示,就是不知道对搜索引索有没有影响
    //转换Unicode十六进制为十进制
    function UnicodeHexToDec($uhStr){
    $uhStr=str_replace("\\u","%u",$uhStr);
    if(strstr($uhStr,'%u')){
    $gbStr=utf8_html_entity_decode($uhStr);
    return $gbStr;
    }
    else{
    return $uhStr;
    }
    }
    function utf8_replaceEntity($result) {
    $value = base_convert($result[1],16,10);
    return "&#".$value.";";
    }function utf8_html_entity_decode($string) {
    return preg_replace_callback("/\%u([0-9,A,B,C,D,E,F]+)/u", 'utf8_replaceEntity', $string);
    }