[pmwiki-users-fr] Lettres accentuées dans les noms de pages et de groupe

Pierre ROUZEAU pierre at rouzeau.net
Lun 25 Juil 17:31:51 CDT 2016


Je viens de faire un essai avec une URL rewrite comme suit :

RewriteRule ^(([A-ZÉ]|É|é).*)  /x/pmwiki.php?n=$1  [L,qsappend]

Et ça marche, ça capture l'adresse si la première lettre est une 
majuscule, un e accentué majuscule ou minuscule et effectivement les 
autres lettres accentuées sont converties par pmwiki.  Si j'avais su ...

Le 25/07/2016 à 22:51, Petko Yotov a écrit :
> Bonjour,
>
> Ce sont les navigateurs qui par défaut encodent les caractères 
> internationaux des URLs en UTF-8 et ce depuis au moins une décennie, 
> pas PHP 5.5, ni PmWiki.
>
> PmWiki.php possède une commande qui décode automatiquement de tels 
> adresses en ISO8859-1, lignes
> 322-323. Si un des scripts nommés xlpage*.php n'est pas chargé, ça 
> devrait marcher tout seul, pas besoin de URL-rewriting.
>
> En effet, je viens de tester ça sur mon serveur local et je n'ai aucun 
> problème, je peux accéder aux pages Élèves.Élèves et Élèves.Chloé.
>
> Le navigateur en revanche affiche bien l'adresse :
>   http://localhost/pmwiki/field-iso/index.php?n=%c9l%e8ves.Chlo%e9
>
> pour que je puisse copier les octets exacts.
>
> Mais mème si je charge :
> http://localhost/pmwiki/field-iso/index.php?n=%C3%89l%C3%A8ves.Chlo%C3%A9
>
> ou :
>   http://localhost/pmwiki/field-iso/index.php?n=Élèves.Chloé
>
> la bonne page sera affichée.
>
> Il faut donc retirer toute modification de URL-Rewriting et toute 
> inclusion de fichier commençant par "xlpage".
>
> Petko
>
> ---
> Change log     :  http://www.pmwiki.org/wiki/PmWiki/ChangeLog
> Release notes  :  http://www.pmwiki.org/wiki/PmWiki/ReleaseNotes
> If you upgrade :  http://www.pmwiki.org/wiki/PmWiki/Upgrades
>
>
> On 2016-07-25 21:33, Pierre ROUZEAU wrote:
>> Bon, l'envoi de ce courriel (qui m'affiche des horreurs à l'écran) m'a
>> donné une réponse partielle. L'encodage UTF-8 fait deux caractères,
>> chacun de ces caractères pouvant se décoder en ISO.
>>
>> En faisant un url rewrite lisant les deux caractères ISO et le
>> transformant dans le vrai caractère ISO attendu, je peux capturer le
>> groupe. Si la page a des caractères accentués, ça ne marche pas, mais
>> au moins, l'utilisateur atterrit sur le bon groupe. Sinon, je peux
>> faire un url rewrite pour chaque page. Pas très drôle, mais ça devrait
>> marcher.
>>
>> éÉè
>>
>>
>> Le 25/07/2016 à 21:23, Pierre ROUZEAU a écrit :
>>>
>>> Bonjour, sur pmwiki 2.2.71, j'ai des groupes et des pages qui 
>>> comportent des lettres accentuées.
>>>
>>> Les noms de fichiers associés sont en ISO-8859-1
>>>
>>> Quand on appelle une page avec un lien interne, son nom est encodé 
>>> correctement, par exemple un 'É' est codé   '%c9'
>>>
>>> Depuis PHP 5.5 (et même un peu avant, je crois), les appels externes 
>>> sur les pages avec lettres accentuées ne fonctionnent pas.
>>>
>>> Mon enregistreur de page 404 me montre que l'encodage des url est 
>>> fait en UTF8 (lecture des variables système), soit pour un 'É', 
>>> '%C3%89'
>>>
>>> J'ai essayé de faire des url rewrite, mais si le rewriter m'envoie 
>>> bien des caractères en ISO, il n'arrive pas à lire les caractères en 
>>> UTF-8, j'ai aussi essayé en faisant des escape des '%'.
>>>
>>> J'ai aussi essayé d'ajouter AddDefaultCharset ISO-8859 ou 
>>> AddDefaultCharset ISO-8859, mais ça ne change rien.
>>>
>>> Je pense que ce n'est pas le problème, puisque le rewriter encode 
>>> bien en ISO. C'est la lecture d'adresses qui est transformée en 
>>> UTF-8. Ditto si je tape 'É' dans ma barre d'adresse, c'est décodé en 
>>> UTF-8.
>>>
>>> J'ai passé plusieurs heures la-dessus et je ne vois aucune solution. 
>>> Certains liens vers mes pages sont probablement très anciens et 
>>> supprimer les accents ne changerait rien à l'échec de recherche de 
>>> page.
>>>
>>> Une idée ?
>>>
>
> _______________________________________________
> pmwiki-users-fr mailing list
> pmwiki-users-fr at pmichaud.com
> http://www.pmichaud.com/mailman/listinfo/pmwiki-users-fr

-- 

---------------------------------------------------------------------------
Pierre Rouzeau - Proud indigenous of old Europe
www.rouzeau.net <http://www.rouzeau.net>
---------------------------------------------------------------------------



---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://www.pmichaud.com/pipermail/pmwiki-users-fr/attachments/20160726/b8e40a75/attachment.html>


Plus d'informations sur la liste de diffusion pmwiki-users-fr