2011-11-24 82 views
0

看起來好像他的特殊字符在我的系統中都被識別爲相同的東西。以下是一些示例代碼:特殊字符不被識別

// 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腳本來查詢硬盤上的數據庫rive。數據庫是在訪問2003年我使用ADO來連接和查詢,頁面始終顯示使用ie,但是我在這裏描述的同樣的問題發生,如果我嘗試在Firefox中打開它我運行windows xp與英語加拿大設置。我也行<meta charset="utf-8">我的網頁<head>標記之後。
請詢問您是否想更多的信息可以躲避的神祕面紗。

[編輯] 此外,當我嘗試寫「é」只是正常html,它輸出和小方塊。我將字體設置爲Ar ial sans-serif ...

+0

我不知道爲什麼,但如何簡單地使用例如'r = r.replace(/é/ g,「e」)'來代替口音? – pimvdb

+0

是的,這是我的初始程序,但它沒有奏效。我寫了這個試圖找出爲什麼... –

回答

0

有時,當您將腳本包含到網頁中時,它有助於添加編碼。

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

謝謝你的嘗試,但沒有運氣:( –