Unicode中的两个问号在文本中

时间:2014-11-12 09:59:50

标签: asp.net-mvc

我正在使用asp.net mvc 5。 在浏览器窗口中显示文本(俄语)时会定期用一个字母替换为两个问号,如下所示(Дмитр й)。 这个bug的逻辑外观无法理解,出现在随机页面上,无论文本是从数据库中获取还是在代码视图中手写。 可能是什么问题以及如何解决?

ps抱歉我的英文不好

1 个答案:

答案 0 :(得分:0)

我认为你和here

有同样的问题

所以

  

存在多种解决方案:

     

放入你的Web.config。但你可以纪念   与其他问题,你的申请将不再是标准   (它不适用于像日语这样的语言)......无论如何,我   喜欢使用UTF-8!

     

在Firefox中转到about:config并设置值   network.standard-url.encode-query-utf8为true。现在它将起作用   你(Firefox将使用utf-8对你的所有网址进行编码)。但不适合任何人   别的......

     

我能遇到的最糟糕的解决方案就是处理这个问题   码。如果默认解码不起作用,我们用Query重新解析QueryString   iso8859-1:

string query = Request.QueryString["search"];
if (query.Contains("%ufffd"))
    query = HttpUtility.ParseQueryString(Request.Url.Query, Encoding.GetEncoding("iso-8859-1"))["search"];
query = HttpUtility.UrlDecode(query);