我想我缺乏正确的词汇来正确陈述这个问题。但是我已经搜索了所有我能想到的东西,包括“javascript object ascii”、“javascript object to unicode”,但我要找的答案就是不会显示。
我的问题是我有一个如下所示的 JavaScript 对象:
{
Book: 'Teacup',
Type: 'Secondary',
Name: 'Biórn',
Age: '257',
Race: 'Dwarf',
Gender: 'Male'
}
当我使用以下函数打印出来时:
for (var prop in item) { // item is my object
var lineItem = $('<td/>');
lineItem.text(item[prop]);
lineItems.push(lineItem);
};
它看起来像这样: 茶杯中学 Biórn 257 侏儒男
我该如何解决?
最佳答案
字符 à 后跟一些其他奇怪的字符是一个典型的迹象,表明您的文件具有 UTF-8 编码,但被解释为其他东西,通常是 latin-1(也称为 ISO-8859-1)。在 UTF-8 中,有些字符占用超过一个字节。在这种情况下,两个字节代表 UTF-8 中的字符 ó,但代表 latin-1 中的两个字符 ó。
Notepad++ 足够智能,可以识别正确的编码,可能是通过扫描文件的一部分来查找 UTF-8 字符。但是浏览器似乎无法确定正确的编码,除非文件包含 BOM。 .
如评论中所述,您可以使用 HTML meta tag 显式设置编码.
关于javascript - 从 js 对象打印 Biórn 而不是 Biórn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36484348/