【问题标题】:formatting url characters格式化网址字符
【发布时间】:2011-06-03 11:08:10
【问题描述】:

在 URL 中替换 Unicode 字符的最佳做法是什么。 例如,如果我有一个多语言网站并支持东欧语言

我应该如何格式化始终包含有效字符的 URL?

【问题讨论】:

  • 您要查找的英文单词是“form”而不是“formate”。

标签: java php url url-rewriting


【解决方案1】:

这里的标签有点混乱,包含 PHP 和 Java。

对于 Java 端。

使用 URLEncoder.encode("Your String Here", "UTF-8");

【讨论】:

    【解决方案2】:

    你想做的事情叫做 slugify。

    $slugified_url_part = iconv('utf-8', 'us-ascii//TRANSLIT', $url_part);
    

    上面的代码会将非 ascii 字符转换为最接近的 ascii 字符。 您还应该修剪空白并用破折号或下划线替换内部空白。 将所有字符都设为小写也很常见。

    Slugify 可以方便地记住 URL 和 SEO。 你当然可以使用百分比编码,但这看起来很难看。

    【讨论】:

      【解决方案3】:

      使用 php 时,您可以使用 urlencode() 来构建您的网址

      【讨论】:

        【解决方案4】:

        使用Percent-encoding。大多数语言都已经内置了辅助函数。

        百分比编码,也称为 URL 编码,是一种在特定情况下对统一资源标识符 (URI) 中的信息进行编码的机制。尽管它被称为 URL 编码,但实际上,它更普遍地用于主统一资源标识符 (URI) 集中,其中包括统一资源定位符 (URL) 和统一资源名称 (URN)。因此,它也用于准备“application/x-www-form-urlencoded”媒体类型的数据,这通常用于电子邮件消息和在 HTTP 请求中提交 HTML 表单数据。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-22
          • 1970-01-01
          相关资源
          最近更新 更多