Javascript 使用ñ&引用;在JS文件中

Javascript 使用ñ&引用;在JS文件中,javascript,forms,Javascript,Forms,我有一个由JS文件填充的表单下拉列表。我下拉列表中的一个选项具有字符ñ,但它并没有显示字母,而是显示以下内容:�. 我怎样才能拿到显示字母ñ的表格?(类似于ascii码,但用于JS?) 提前感谢…这实际上是一个HTML实体问题。您需要提供HTML实体而不是字符 见: 具体而言:&nt ilde;(减去空格)->ñ您的页面上可能有错误的字符集。检查您的标签中是否有类似的内容: <meta http-equiv="Content-Type" content="text/html; charse

我有一个由JS文件填充的表单下拉列表。我下拉列表中的一个选项具有字符ñ,但它并没有显示字母,而是显示以下内容:�.

我怎样才能拿到显示字母ñ的表格?(类似于ascii码,但用于JS?)


提前感谢…

这实际上是一个HTML实体问题。您需要提供HTML实体而不是字符

见:


具体而言:&nt ilde;(减去空格)->ñ

您的页面上可能有错误的字符集。检查您的
标签中是否有类似的内容:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

您需要对其进行UTF-8编码才能看到其中包含的字符


@phihag正确地提到,这个答案只有在脚本是内联的情况下才是正确的。对于外部脚本,您必须确保该文件也是UTF-8编码的,或者包含实体,例如
ñ

使用
ñ请参见

尝试字符的html实体

&ntilde;

首先,修复页面编码(UTF-8,最好在
之后直接使用
)并确保编辑器设置为UTF-8通常是一个非常好的主意

否则,将ñ替换为
\u00f1
(在JavaScript代码中,而不是HTML中)是一条可行之路


如果JavaScript从HTML或XML文档中获取ñ,您也可以使用
ñ
ñ在那里。

你应该在你的页面中使用UTF-8,正如其他答案和评论多次提到的那样


对于实际字符,您可以使用HTML实体
ñ
(同样,由其他人回答)或
&241
ñ(在HTML中——或者在将被插入或解析为HTML的JS字符串中),或者转义的UTF-8值
\u00F1
(在JS字符串中)。

您可以使用字符代码:

var babyGirl = "ni\u00f1a";

您是否尝试过将JS文件中的编码转换为UTF-8?(假设您通常在站点上使用UTF-8)我们可以看到您的代码吗?您的页面的字符编码是什么?Javascript将把该字符作为字符串处理。-1用于链接到w3schools,这是出了名的过时且充满错误。这只有在脚本是内联的情况下才会有帮助。你说的“内联”是什么意思?@Tomasz Kowalczyk
/*code*/
而不是
@zack,这不是真的。它也适用于包含的源文件。我认为字符集声明不会从文档继承到外部脚本,但我可能错了。我当然不会相信它。(100%完全正确的做法是让服务器将
内容类型:text/javascript;charset=UTF-8
放在脚本的HTTP头中,但我知道这通常比应该的要难。)这只在脚本是内联的情况下才有帮助。你确定吗?我只需要使用实体将jquery.dataTables.js(其中包含带单词的数组(前进、空表等))翻译成葡萄牙语,就可以了。@nosuchnick。您可能正在使用jQuery从序列化的HTML构造DOM节点,这是它工作原理中的一个例外。纯ECMA/JavaScript没有XML实体的概念。@KOGI你能用一个源代码来备份吗?我在ECMA-262中找不到任何关于“实体”的提及,HTML/XML或其他。还有一个简单的例子
和t.js:
警报(“ñ;”)生成一个文本ñ;而不是使用您提到的相同设置,除了尝试使用
document.write('ñ;')$(“”).appendTo('body').text('ntilde;')两者都可以正常工作。鉴于最初的问题是关于下拉列表的显示,这应该足以满足他的需要。这只有在脚本是内联的情况下才有帮助。(@Zack,你不收版税,是吗?)HTML实体只有在字符串的内容将被馈送到HTML解析器时才有效,比如通过“innerHTML”或类似的方式。HTML实体只有在字符串的内容将被馈送到HTML解析器时才有效,比如通过“innerHTML”或类似的方式。这就是我的意思,但我意识到其中的模糊性。修正了。我想你知道是因为第二段,但我想澄清一下;关于为什么使用HTML实体设置输入的“值”不起作用的问题有时会出现:-)我将“ñ”改为\u00f1,它起作用了。谢谢我还更改了编码,现在出现了其他没有显示的字符(重音符号,因为我所做的页面是西班牙语的)。谢谢!