我有一个引用以下网址的数据库:
http://en.wikipedia.org/wiki/Herbert_Gr%F6nemeyer
但是,这似乎是一个错误的 URLEncoding,导致 HttpUtility.UrlDecode (给我垃圾)和 Uri.UnescapeDataString (UriFormatException)都出现问题。我的浏览器将路径原样传递到维基百科(因此我假设 %F6 由浏览器编码),如下所示:
获取/wiki/Herbert_Gr%F6nemeyer HTTP/1.1
维基百科识别并 301 重定向到:
位置:http://en.wikipedia.org/wiki/Herbert_Gr%C3%B6nemeyer
这是怎么回事?维基百科有额外的专有编码吗?
编辑:我有维基百科的本地副本,我正在尝试与此网址交叉引用。文章按标题索引,在本例中为:“Herbert Grönemeyer”。任何人都可以建议我如何在代码中从“Herbert_Gr%F6nemeyer”转到“Herbert Grönemeyer”。显然下划线不是这里的问题。
请您参考如下方法:
%C3%B6 是 ö(o-umlaut)的正确 UTF-8 编码。我假设 %F6 是相同字符的某些本地编码的字节值的逐字节副本(例如,来自代码页 1252)。