我們在網頁設置中通常會向服務器遞交一些表單參數,為了方便我們在各個頁面中的參數傳遞,在html腳本裡遞交服務器請求時可以直接如下方式:
location.href="abc.asp?name=參數一"
也可以是在<form action="abc.asp?name=參數一" >然後submit到該form
大家有沒有發現後面的參數中都是傳遞的中文參數,雖然這樣顯得很方便,但是在服務器處理時存在著問題:
在IE中以上方式的遞交請求,自動采用了操作系統的默認字符編碼,而不是當前網頁指定的網頁字符編碼;而在firefox中以上方式的遞交請求,使用的是當前網頁指定的網頁字符編碼,而不是操作系統的默認字符編碼。這就表明:如果網頁指定的字符編碼與操作系統默認字符編碼不一致時,網頁通過這2種浏覽器向服務器遞交請求時的字符編碼就不一致了,服務器在處理上相當麻煩。而且有時用中文參數傳遞時,在firefox中會出現無法傳遞的現象,導致網頁出錯。
所以建議將含中文的參數放在表單的內容裡,統一通過網頁字符編碼遞交請求。如上面例子可改為:
<form action="abc.asp"><input type=hidden name='name' value='參數一' /></form>