Javascript jQuery-.length()将特殊字符计数为2?

Javascript jQuery-.length()将特殊字符计数为2?,javascript,jquery,char,Javascript,Jquery,Char,当我使用$('#id').val().length

当我使用
$('#id').val().lengthæ
ø
å
等字符时,它返回
2

有人能告诉我为什么以及如何让它像(一)个字符一样工作吗?

试试这个:


有两个字符,上面写着length=2,我认为您使用了额外的空格或该字符的任意一侧

<p id="t">&aelig;</p>
$('#t').text().length

æ

$('#t').text().length

这工作正常。

我怀疑这里发生了其他事情,这不是编码问题

我拒绝相信这是一个jQuery问题(请参阅我的jsutification)

以下原始HTML将报告回“1”:


另外,如果您在HTML上查看源代码,输入的内容是什么样子的。

您确定没有空间吗。如果您尝试
“æ”.length
,会发生什么情况?我感觉这与UTF-8组合字符有关-有两种有效的方法可以在UTF中写入大量字符,一种是单个字符,另一种是成对字符。。。这会让人头疼,但我不知道该怎么回答,我想你错过了空白:-)谢谢这是我的问题UTF-8:)
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
</head>
<html>
<body>
<input type="text" value="æ" id="test"/>
</body>
<script type="text/javascript">
    alert(document.getElementById("test").value.length);
</script>

</html>
alert("æ".length);  //=1?
alert('"' + $('#id').val() + '"'); //are there any spaces/other chars?