我有一个带有 asp.net web api2 后端的 Angular 应用程序。
网址:https://myapp.test.com/world-news/Cura%C3%A7ao
上述网址在 Chrome、Firefox 和 Safari 中工作正常,但在 IE 浏览器中存在问题。
值:Cura%C3%A7ao 当发送到 Web api 后端时,对于 Chrome 和 Firefox、Safari 来说被解释为 Curaçao,但对于 IE 浏览器,它被解释为 Cura�ao。
在本例中,上述字符串包含特殊字符:ç,它被解释为 �。
谁能帮我解决这个问题?
最佳答案
你能试试这个吗:
String result = Uri.EscapeUriString(Encoding.UTF8.GetString(Encoding.ASCII.GetBytes("Curaçao")));
请注意,Uri.EscapeUriString() 不会转义 & 、 = 、 ? 或任何 RFC 保留字符。这意味着如果您的查询参数包含任何这些字符,您的 URL 就会被破坏。所以看来 Uri.EscapeDataString() 是要使用的方法。
来源:Problem with Uri.EscapeUriString() regarding accented characters
关于javascript - Internet Explorer url 包含特殊字符的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59237617/