【发布时间】:2011-06-03 11:08:10
【问题描述】:
在 URL 中替换 Unicode 字符的最佳做法是什么。 例如,如果我有一个多语言网站并支持东欧语言
我应该如何格式化始终包含有效字符的 URL?
【问题讨论】:
-
您要查找的英文单词是“form”而不是“formate”。
标签: java php url url-rewriting
在 URL 中替换 Unicode 字符的最佳做法是什么。 例如,如果我有一个多语言网站并支持东欧语言
我应该如何格式化始终包含有效字符的 URL?
【问题讨论】:
标签: java php url url-rewriting
这里的标签有点混乱,包含 PHP 和 Java。
对于 Java 端。
使用 URLEncoder.encode("Your String Here", "UTF-8");
【讨论】:
你想做的事情叫做 slugify。
$slugified_url_part = iconv('utf-8', 'us-ascii//TRANSLIT', $url_part);
上面的代码会将非 ascii 字符转换为最接近的 ascii 字符。 您还应该修剪空白并用破折号或下划线替换内部空白。 将所有字符都设为小写也很常见。
Slugify 可以方便地记住 URL 和 SEO。 你当然可以使用百分比编码,但这看起来很难看。
【讨论】:
使用 php 时,您可以使用 urlencode() 来构建您的网址
【讨论】:
使用Percent-encoding。大多数语言都已经内置了辅助函数。
百分比编码,也称为 URL 编码,是一种在特定情况下对统一资源标识符 (URI) 中的信息进行编码的机制。尽管它被称为 URL 编码,但实际上,它更普遍地用于主统一资源标识符 (URI) 集中,其中包括统一资源定位符 (URL) 和统一资源名称 (URN)。因此,它也用于准备“application/x-www-form-urlencoded”媒体类型的数据,这通常用于电子邮件消息和在 HTTP 请求中提交 HTML 表单数据。
【讨论】: