【问题标题】:Referencing a URL that includes a hyphen (NOT a dash)引用包含连字符(不是破折号)的 URL
【发布时间】:2014-06-25 16:28:30
【问题描述】:

我遇到了一个使用连字符(不是破折号)来构建其 URL 的网站。我想使用以下代码从另一个 HTML 文档链接到该网站:

<a href="http://www.interskill.com/course-catalog/TSO-ISPF-Managing-Data-Files-and-Definitions-with–TSO-ISPF.html">The Course</a>

很难看到,但连字符是 href 中从右数第 14 个字符。 (紧接在第二个 TSO 缩写之前。)

有没有办法使用类似于%20 的ASCII 转义码来正确引用这个字符?

还是我坚持发送其他网络开发人员请求他们解决问题? :-)

【问题讨论】:

  • 当我将它添加到我的网站时它对我来说很好
  • @Andy:那里没有连字符。
  • 感谢大家的回复。根据Wikipedia 中的定义,我认为我遇到了“em-dash”或“en-dash”与“figure dash”。假设是这种情况,有没有办法改用 HTML 字符实体引用 &amp;mdash; 或数字字符引用 &amp;#x2014; 来重写 URL?
  • @StevenRyan:这是一个破折号:fileformat.info/info/unicode/char/2013/index.htm 虽然&amp;ndash;&amp;#2013; 似乎都有效,但最好还是坚持使用 UTF-8 编码,因为那是RFC 标准规定 URL 应该使用的编码。使用 HTML 实体意味着浏览器必须在请求页面之前对字符进行编码。

标签: html url ascii


【解决方案1】:

您可以使用%e2%80%93 来编码该连字符:

<a href="http://www.interskill.com/course-catalog/TSO-ISPF-Managing-Data-Files-and-Definitions-with%e2%80%93TSO-ISPF.html">The Course</a>

我用这个 C# 代码找出了编码:

Console.WriteLine(HttpUtility.UrlEncode("–"));

【讨论】:

  • 也想知道这个......我将参考插入到我的网页中,它就像一个魅力。感谢@Guffa,标记为“已接受”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-10
  • 1970-01-01
相关资源
最近更新 更多