日期:2014-05-16  浏览次数:20389 次

请问length在utf-8中代表字符串中字符的个数吗???
HTML code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>编码</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
</style>
<script type="text/javascript">
m='aw啊中的'
alert(m.length) 
</script>
</head>
<body>
</body>
</html>



请问这个m.length弹出后为什么是7啊,为什么会出个单数?这个length代表什么?


------解决方案--------------------
应该是 lz 用的文件编码和charset不一致吧

如果文件用 gbk 之类的编码,charset 写成 utf-8,会出现乱码,长度显示为7
------解决方案--------------------
探讨

引用:
应该是 lz 用的文件编码和charset不一致吧

如果文件用 gbk 之类的编码,charset 写成 utf-8,会出现乱码,长度显示为7


啊? 我一直认为utf-8显示中文就是应该乱码呢, 原来是文件编码和charset不一致啊,正确的话utf-8页面也应该正常显示中文,是这样吗?

------解决方案--------------------
其次,js中length就是返回字符串的长度,字母、数字、字符皆算为一位~
------解决方案--------------------
经测试应该是您在保存文件的时候默认的编码方式根本不是UTF-8,如果保存时就是UTF-8的话,就没有错了