我在MVC2应用中将数据从一个页面发送到下一个页面。第1页发送价格信息,第2页显示总税额。使用Fiddler,我可以看到我的数据正在从第1页正确发布:
itemA_3225=Description&itemB_3225=123&itemCurrency_3225=USD&itemSymbol_3225=%24
然后,在我的Controller的Post方法中,我有这一行:
mySymbol = Request.Form["itemSymbol_" + itemID].ToString();
和mySymbol
正确更新为"$"
。
然而,当我尝试为欧元做这件事时,它不起作用,即使其他一切看起来相似:
itemA_3226=Description&itemB_3226=123&itemCurrency_3226=EUR&itemSymbol_3226=%80
但是在我的控制器中,mySymbol
变量设置为""
。有任何想法吗? $和£工作正常,但欧元和ƒ不起作用。
答案 0 :(得分:1)
根据我的经验,90%的时间出现这样的错误,问题与使用错误的字符集进行读/写有关。
答案 1 :(得分:0)
请勿在URI中使用%80
作为欧元符号。 URI的字符集始终为UTF-8,因此您必须发送字符U+20AC
,或者,uuencoded,%E2%82%AC
希望这有帮助!