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">æ</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?