2012-03-30 103 views
0

我正在將數據從一個頁面發送到下一個MVC2應用程序。第1頁發送價格信息,第2頁顯示總稅額。使用招,我可以看到正在從第1頁正確張貼了我的數據,例如:歐元貨幣符號不會顯示,即使其他符號可以工作

itemA_3225=Description&itemB_3225=123&itemCurrency_3225=USD&itemSymbol_3225=%24

然後,在我的控制器的郵政法,我有這樣一行:

mySymbol = Request.Form["itemSymbol_" + itemID].ToString(); 

mySymbol作爲"$"正確更新。

然而,當我嘗試做這行歐元這是行不通的,即使一切似乎類似:

itemA_3226=Description&itemB_3226=123&itemCurrency_3226=EUR&itemSymbol_3226=%80

但在我的控制器的mySymbol變量被設置爲""。有任何想法嗎? $和£工作正常,但歐元和ƒ不起作用。

回答

0

請勿在歐元符號的URI中使用%80。 URI的字符集始終是UTF-8,所以您必須發送字符U+20AC或uuencoded,%E2%82%AC

希望這有助於!

+0

如何正確編碼字符?我試過HttpUtility.HtmlEncode/Decode,但那仍然不能識別歐元。 – WEFX 2012-04-02 15:05:28

+1

您需要'UrlEncode',而不是'HtmlEncode'。 – 2012-04-02 15:59:45

+0

是的,我需要頁面A上的UrlEncode和頁面B上的UrlDecode的組合。謝謝! – WEFX 2012-04-02 16:41:36

1

根據我的經驗,有90%的時間出現這樣的錯誤,問題與使用錯誤的字符集進行讀/寫有關。