【问题标题】:Why console.dir () in Firefox gives the following results (UTF-8)?为什么 Firefox 中的 console.dir() 会给出以下结果(UTF-8)?
【发布时间】:2013-10-31 16:42:08
【问题描述】:

假设有一个代码(UTF-8,带有西里尔字母)

var test = {name:'Съешь ещё этих мягких французских булок'};
console.dir(test.name);
console.dir(test);

为什么在第二种情况下控制台(FF 25.0)显示乱码? 系统还没有插入图片,只能参考http://i.imgur.com/lzHc5aa.png查看图片

【问题讨论】:

  • +1 代表французцкиебулки。很好吃。

标签: javascript firefox utf-8 console


【解决方案1】:

这很可能是一个错误。 console.dir 如果读取属性,似乎只读取每个字符的最低字节:

function asciify(s){
    var i, r = [];
    for(i = 0; i < s.length; ++i){
        r.push(String.fromCharCode(s.charCodeAt(i) & 0xff));
    }
    return r.join("");
}

console.log(asciify('Съешь ещё этих мягких французских булок'));

但是,当您在字符串上使用console.dir 时,它似乎使用console.log,它可以正确解释非ASCII 符号。您应该提交错误报告。

【讨论】:

    猜你喜欢
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 2014-02-01
    • 2021-08-26
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    相关资源
    最近更新 更多