特殊字符无法识别

时间:2011-11-24 16:36:40

标签: javascript special-characters

好像他的特殊字符在我的系统上都被认为是同一个东西。以下是一些示例代码:

// Function that processes a string to put to lowercase and remove special characters
function NormalizeString(s){
    var r=s.toLowerCase();
    if(r.indexOf('é')!=0){
       r=Left(r,r.indexOf('é')) + 'e' +  Right(r,r.length-r.indexOf('é')-1)
    }        
    return r;  
  }

这可以将é改为e。现在,如果我添加到这个程序:

// Function that processes a string to put to lowercase and remove special characters
function NormalizeString(s){
    var r=s.toLowerCase();
    if(r.indexOf('é')!=0){
       r=Left(r,r.indexOf('é')) + 'e' +  Right(r,r.length-r.indexOf('é')-1)
    }  
   if(r.indexOf('ô')!=0){
       r=Left(r,r.indexOf('ô')) + 'o' +  Right(r,r.length-r.indexOf('ô')-1)
    }       
    return r;  
  }

这将'Contrôle'改为'ocontrele'。然后我匆匆写了下面的代码:

function NormalizeString(s){
    var r=s.toLowerCase();
   if(r.indexOf('ô')!=0){
       r=Left(r,r.indexOf('é')) + 'o' +  Right(r,r.length-r.indexOf('ô')-1)
    }       
    return r;  
  }

它将'Contrôle'改为'controle'。我不明白:(

我不确定这个问题来自哪里,所以我会尽我所能解释我的设置。我有一个HTML页面,它使用客户端java脚本来查询硬盘上的数据库。 db正在访问2003我正在使用ADO进行连接和查询。页面始终使用ie显示,但如果我尝试在Firefox中打开它,我会遇到同样的问题。我正在使用英语加拿大设置运行Windows XP。我的页面的<meta charset="utf-8">标记后面有<head>行。
请询问您是否认为有更多信息可以避开这个谜。

[编辑] 此外,当我尝试用普通的html写“é”时,它输出和小方块。我将字体设置为Arial sans-serif ...

1 个答案:

答案 0 :(得分:0)

有时在将脚本包含到网页中时添加编码会有所帮助。

<script type="text/javascript" src="myscripts.js" charset="UTF-8"></script>