我有两个带参数的url
http:
http:
在第一个URL中,Firefox将最后一个字符(Ð)编码为%D0%93(在UTF-8中正确)。
在第二个URL中,Firefox将最后一个字符(Ã)编码为%EC(在ISO-8859-1中正确)
可以使用web.config中的元素配置ASP.NET MVC,以采用UTF-8或ISO-8859-1。但是Firefox根据上下文在编码之间切换。
注意,UTF-8可以明确地与拉丁语-1编码区分开来。
有没有方法教ASP.NET MVC使用其中一种格式解码参数值?
编辑:
有没有一个类可以用来解码原始查询字符串以正确处理编码?注意-Firefox使用UTF-8
或
拉丁语-1编码-但不能同时使用。所以我的计划是尝试使用UTF-8手动解码,然后寻找“无效”字符(FFFD),如果找到一个-尝试拉丁-1解码。
例子:
Firefox编码如下:
- v v
http://localhost:8041/Reforge.aspx?name=ArcânisÐ
Firefox turns into
http://localhost:8041/Reforge.aspx?name=Arc%C3%A2nis%D0%93`
请注意
UTF8
编码用于两个非ASCII字符。
- v
http:
Firefox turns into
http:
请注意
ISO-8859-1
(拉丁语-1)编码用于非ASCII字符。