【问题标题】:Permalinks with Russian/Cyrillic news articles带有俄语/西里尔文新闻文章的固定链接
【发布时间】:2009-07-26 07:16:13
【问题描述】:

我基本上是在使用一个老式的基于 php cms 的俄语网站,要求的许多新功能之一是永久链接。

截至目前,该网站仅使用标准的非 mvc 'article.php?id=50'。我正在浏览Russian wiki,这确实是我见过的唯一一个使用俄罗斯本地固定链接的俄罗斯网站。我想知道:

  1. 在字符使用方面是否有任何限制?这需要在服务器端进行任何类型的特殊设置吗?
  2. 我一般应该为永久链接寻找什么样的字符?我需要什么陷阱吗?
  3. 关于如何将永久链接存储在数据库中的任何提示?到目前为止,表结构相对简单.. 只是一个文章表:

id article_title article_sn-p article_whole date_time

我正在考虑在此表中添加一个名为“永久链接”的新列,它基本上将存储 article_title 的修改版本(到目前为止,我能想到的唯一特殊处理的字符是我将转换为的空间下划线)。

  1. 我应该如何格式化新的干净 url?我在想这样的事情:

/articles/2009/Заглавная_страница

例如。

顺便说一下,我将使用 Pylons(一个 python 框架)和 MySQL 5,尽管如果有任何奇怪的 UTF8 限制,我对 PostgreSQL 持开放态度(顺便说一下,我将以前的 Latin1 整个数据库转换为 UTF8带 iconv )。

【问题讨论】:

    标签: python mysql model-view-controller


    【解决方案1】:

    目前的惯例是以 UTF-8 编码 URL,然后 URL-escape(即 %-escape)它们:

    py> urllib.quote(u"articles/2009/Заглавная_страница".encode("utf-8"))
    'articles/2009/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0'
    

    在此之后,将没有任何限制 - 即浏览器将其识别为 UTF-8 或不识别,但它们肯定能够访问该链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-11
      • 1970-01-01
      • 1970-01-01
      • 2013-08-06
      • 1970-01-01
      • 1970-01-01
      • 2019-01-31
      • 1970-01-01
      相关资源
      最近更新 更多