2009-07-26 8 views
1

Je travaille essentiellement avec un site basé sur oldschool php cms en russe, l'une des nombreuses nouvelles fonctionnalités demandées est permaliens.Permaliens avec les articles de nouvelles russes/cyrilliques

A partir de maintenant, le site utilise actuellement le standard non-mvc 'article.php? Id = 50'. Je naviguais sur le Russian wiki et c'était vraiment le seul site russe que j'ai vu qui utilisait des permaliens russes. Je me demande:

  1. Y a-t-il des limites en ce qui concerne l'utilisation des caractères? Cela nécessite-t-il un type d'installation spéciale sur le serveur ou quoi que ce soit?
  2. Quels caractères dois-je rechercher en général pour les permaliens? Des pièges dont j'ai besoin?
  3. Des conseils sur la façon dont je devrais stocker les permaliens dans ma base de données? A partir de maintenant, la structure de la table est relativement simple .. juste une table d'articles avec:

id ARTICLE_TITLE article_snippet article_whole date_time

Je pensais à l'ajout d'une nouvelle colonne dans ce tableau nommé 'permalien' qui stocker essentiellement une version modifiée de l'article_title (jusqu'à présent, le seul caractère auquel je peux penser avec un traitement spécial est l'espace que je vais convertir en un trait de soulignement).

  1. Comment faire pour formater mes nouvelles URLs propres? Je pensais quelque chose comme:

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

par exemple. A propos, j'utiliserai Pylons (un framework python) et MySQL 5 bien que je sois ouvert à PostgreSQL s'il y a des restrictions UTF8 bizarres (j'ai converti toute la base de données qui était auparavant en Latin1 en UTF8 par le moyen avec iconv).

Répondre

2

La convention actuelle est d'encoder les URL en UTF-8, puis URL-escape (c.-à-% les caractères d'échappement) les:

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' 

Après cela, il n'y aura pas de restrictions - c.-à-fureteurs Soit le reconnaître comme UTF-8 ou non, mais ils seront certainement en mesure de suivre le lien.

+0

Technique intéressante. –

Questions connexes