Ok, merci, j'ai capté, mon problème c'est que le groupe qui a une lettre accentuée, c'est la première lettre. 'Énergie'

J'ai un URL rewrite qui capture les pages de pmwiki en vérifiant que la première lettre est en majuscule (il y a des pages qui ne sont pas en pmwiki sur mon site), comme le E accentué est en UTF8, il ne peut pas l'attraper car le code de capture du E majuscule est en ISO. En plus, sur mon 404 tracking, il y a beaucoup de gens qui ne respectent pas la casse des adresses.

J'ai fait les URL rewriting et j'en ai profité pour capturer les groupes avec une casse erronée, donc je laisse (Je n'ai que cinq pages avec des lettres accentuées).

En effet, mon site a plus de dix ans et je ne fait pas une énorme maintenance. J'ai pas mal oublié ce que j'avais fait à l'époque. J'ai juste noté récemment que j'avais un fichier de tracking des 404 et qu'il commençait a gonfler. C'est la première fois que je le regarde depuis plus de dix ans ... Mais les problèmes de lettres accentuées sont relativement récents (maximum deux ou trois ans). J'ai eu ça sur un autre site (CNCLoisirs) et comme je n'avait pas le temps de chercher, j'ai carrément renommés les groupes litigieux. C'est mauvais pour le référencement, mais j'étais pressé.

Salutations
Désolé pour le doublon, j'oublie toujours de répondre à la liste.

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
[email protected]
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
_______________________________________________
pmwiki-users-fr mailing list
[email protected]
http://www.pmichaud.com/mailman/listinfo/pmwiki-users-fr

Répondre à