javascript - 为什么 Firefox 中的 console.dir() 给出以下结果(UTF-8)?

标签 javascript firefox utf-8 console

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

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

为什么在第二种情况下控制台(FF 25.0)显示乱码? 系统还是没有插入图片,所以图片只能引用查看/image/mYAcR.png

最佳答案

这很可能是一个错误。 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 符号。您应该提交错误报告。

关于javascript - 为什么 Firefox 中的 console.dir() 给出以下结果(UTF-8)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19712143/

相关文章:

javascript - 如果另一个类存在 jquery/rails,则有条件地应用一个 css 类

JavaScript 可以在 Firefox 中运行,但不能在 IE 或 Chrome 中运行?

javascript - html() 设置后触发自定义事件

css - IE 的条件注释,对于 Firefox 也是可见的

google-app-engine - Google App Engine DataStore 文本 UTF-8 编码问题

javascript - 如何获取组中对象的 Canvas 相对位置?

javascript - 如何使用浏览器扩展/插件强制聚焦浏览器窗口?

utf-8 - 为什么 UTF-8 会浪费这么多位?

python - 使用带有 Unicode 的 Python 正则表达式进行 BackReference

css - Firefox 或 Internet Explorer 中不显示关键帧中的背景图像