2011-11-25 61 views
0

我開發了一個網站,我使用jQuery從文本框(它是具有屬性的輸入標籤:type = text)獲取值。原因是我使用$ .get()函數,並使用文本框的值作爲url的一部分,我使用它來搜索數據庫。如果字母不是ASCII碼,這可能是一個問題,所以我手動將瑞典語字母'åäö'轉換爲'char01'等來解決它。這是它的外觀:在不同瀏覽器中編碼的瑞典語字母

 vTxtBox = vTxtBox.replace("%C3%A5","char11"); 
     vTxtBox = vTxtBox.replace("%C3%A4","char12"); 
     vTxtBox = vTxtBox.replace("%C3%B6","char13"); 

的問題是,我的一些用戶仍然遇到與此如此的問題,我的問題是: 是否有可能,一些瀏覽器都設置在比unicode的別的東西來解釋「AAO」 ?

在此先感謝

回答

1

像這樣手動替換字符是沒有必要的。改爲使用您的每個值的encodeURIComponent()

看看是否已經解決了這個問題 - 如果你的當前頁面是UTF-8,事情應該工作。如果它不起作用,請回來更多關於用戶體驗確切問題的詳細信息。

+0

感謝您的答案,但我不太明白使用encodeURIComponent()。如果我使用encodeURIComponent()對url進行編碼,我無法讀取頁面加載的參數,因爲url已被編碼。我真正想知道的是爲什麼(或者如何以及何時:P)我從我的文本框中獲取的字符串在javascript中被編碼而沒有做任何事情? – user1065440

+0

@user僅編碼您從文本框中獲取的值。當然,我愚蠢的是 –

+0

!感謝您快速準確的答覆! – user1065440