Problème d'url accentuées
Emz0
-
Emz0 -
Emz0 -
Bonjour.
J'ai un GR0S problème avec un wiki installé chez 1and1, le wiki utilisant des url comportant des accents, ce qui rend les pages inaccessibles. Pourtant ces caractères étant codés en utf-8 ils devraient être acceptés, et j'ai repéré sur le net un certain nombre d'url accentuées pour lesquelles je n'ai aucun mal à afficher les pages.
Plus de détails :
J'ai installé un mediawiki dernière version (1.14) sur un serveur 1&1, fichiers encodés en utf-8 avec balise en tête indiquant ce codage, .htaccess à la racine forçant l'interprétation en utf-8, bdd en utf-8 et je teste avec différents navigateurs paramétrés en utf-8... Le contenu de mes pages s'affiche sans problème d'accents ou autre. Mais le problème c'est les url : étant donné qu'il s'agit d'un wiki, et francophone de surcroit, les utilisateurs qui ne sont pas des codeurs professionnels (par défaut on les suppose encore plus nuls que moi !) sont amenés à publier des articles dont les titres sont des noms ou expressions correctement orthographiés, c'est à dire conformes à la graphie française, donc comportant des caractères accentués, or l'affichage de ces articles génère des pages dont l'url comporte le nom de l'article, dont nécessairement des caractères accentués. Et voilà tout le problème : quelque soit le navigateur utilisé, taper l'url avec ces caractères accentués retourne une erreur 404 ! Exemple : la page de test http://b0t.info/réalité.htm donne un message d'erreur "page inexistante", ce qui est problématique. Le problème ne vient pas du wiki lui-même puisque cette page de test, placée à la racine du serveur et non du dossier wiki, et n'appelant aucun autre fichier, ne s'affiche pas du tout. Elle ne contient que du basique :
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head>
<body>GA !</body></html>
... 0n peut difficilement faire plus simple !
La solution pour l'afficher consiste à remplacer les caractères accentués ("é") par leur code html/utf-8 hexadécimal ("%E9"), ce qui, il me semble, devrait se faire automatiquement puisque toute la chaîne est en utf-8, et l'utilisation de tels caractères, conforme aux normes W3C (depuis 2005 il me semble), est sensée être gérée par les navigateurs récents. D'après mon service technique 1&1, cela prouve que le problème ne vient pas du serveur, celui-ci recevant de toute façon toujours, lorsque le navigateur les lui envoie correctement, les caractères codés et parvenant lorsqu'on les lui donne à afficher la page, mais du navigateur qui ne parvient pas à coder ces caractères. 0ui, mais...
Le problème se pose avec tous les navigateurs testés (ie6, Firefox3, Google Chrome) sous quelque environnement que ce soit (Vista, XP, Mac 0s X, Fedora), quelque soit le pc utilisé (2 pc, l'un d'un an ; l'autre de 4 ans, à jours ; et un mac assez vieux mais également à jour), et quelque soit le codage paramétré dans le dit navigateur (utf-8, iso occidental, automatique) ; et ces mêmes navigateurs parviennent sans problème à afficher des pages wikipedia ou Amazon dont les url sont accentuées, même sans coder les accents, de même que toutes les pages placées sur d'autres serveurs que le mien, telles que http://www.cheminee-bio-ethanol.org/catalog/cheminées-modernes-c-21.html ! Mon service technique m'assure que leurs serveurs supportent sans problème les accents avec un codage utf-8, et que plusieurs utilisateurs utilisent des url avec de tels caractères sans problème...
Alors, si ça ne vient ni du serveur, ni de mon fichier, ni du navigateur... D'où vient ce *$¤#@¨~"!&+ de problème, très... problématique (!) puisqu'il m'empêche :
- de faire un lien externe vers un article au titre accentué de mon wiki sans coder l'url, ce qui est fastidieux à l'usage pour l'utilisateur lambda qui voudrait, par exemple, faire un lien d'un forum externe vers l'article "réalité" du wiki, et obtiendrai alors une erreur 404 ;
- de faire fonctionner correctement le moteur de recherche interne, qui ne trouve pas les articles au titre accentué
(curieusement les liens internes d'article à article fonctionnent sans problème, le mediawiki codant probablement automatiquement l'url dans ces cas là, mais le moteur de recherche ne trouve aucun article dont le titre est accentué - par ailleurs la fonction "rechercher : lire" ne fonctionne pas, ce qui est peut-être lié à ce problème de codage)
?!
Pourquoi puis-je afficher les url accentuées d'autres sites mais pas du mien ? Comment régler ce problème ?! Avez-vous svp une piste ?
La seule solution éventuelle que je vois pour l'instant serait d'utiliser un urlencode à chaque saisie par l'utilisateur du wiki, mais :
1) C'est relativement complexe à mon niveau ;
2) Le wiki comporte énormément de fichiers dont un certain nombre contiennent des zones de saisie ; je n'ai pas la moindre idée d'où trouver les parties de code concernées ; la doc et les forums d'entraide pour mediawiki sont anglophones et je suis archi-nul en anglais (ou je sais, mea culpa, encore).
3) Je souhaiterais conserver les accents (normalement gérés en utf-8 par les serveurs et navigateurs récents, et aux normes) par souci esthétique et orthographique, mais j'avoue que ce dernier argument, plutôt esthétique, est accessoire.
Je n'y comprends plus rien, et je commence à m'embrouiller après 3 nuits de travail acharné pour tenter de résoudre ce problème probablement pas insoluble (je l'espère !), mais en tout cas difficilement soluble à mon niveau ! Dois-je changer d'hébergeur, et si oui quels hébergeurs n'auraient pas ce problème ? Y-a-t-il une manip à faire au niveau du serveur (.htaccess ?) ? Comment faire ?!
Je serais infiniment reconnaissant à toute personne qui aurait une solution ou ne serait-ce qu'une piste pour solutionner ce problème ! Je veux bien lui édifier une église (virtuelle, hein, faut pas pousser ^^).
Merci d'avance à toute âme charitable !
PS : si vous voulez tester le wiki, il se trouve à cette adresse : http://posthumanisme.b0t.info ou http://b0t.info//mediawiki-1.14.0/index.php5?title=Accueil
J'ai un GR0S problème avec un wiki installé chez 1and1, le wiki utilisant des url comportant des accents, ce qui rend les pages inaccessibles. Pourtant ces caractères étant codés en utf-8 ils devraient être acceptés, et j'ai repéré sur le net un certain nombre d'url accentuées pour lesquelles je n'ai aucun mal à afficher les pages.
Plus de détails :
J'ai installé un mediawiki dernière version (1.14) sur un serveur 1&1, fichiers encodés en utf-8 avec balise en tête indiquant ce codage, .htaccess à la racine forçant l'interprétation en utf-8, bdd en utf-8 et je teste avec différents navigateurs paramétrés en utf-8... Le contenu de mes pages s'affiche sans problème d'accents ou autre. Mais le problème c'est les url : étant donné qu'il s'agit d'un wiki, et francophone de surcroit, les utilisateurs qui ne sont pas des codeurs professionnels (par défaut on les suppose encore plus nuls que moi !) sont amenés à publier des articles dont les titres sont des noms ou expressions correctement orthographiés, c'est à dire conformes à la graphie française, donc comportant des caractères accentués, or l'affichage de ces articles génère des pages dont l'url comporte le nom de l'article, dont nécessairement des caractères accentués. Et voilà tout le problème : quelque soit le navigateur utilisé, taper l'url avec ces caractères accentués retourne une erreur 404 ! Exemple : la page de test http://b0t.info/réalité.htm donne un message d'erreur "page inexistante", ce qui est problématique. Le problème ne vient pas du wiki lui-même puisque cette page de test, placée à la racine du serveur et non du dossier wiki, et n'appelant aucun autre fichier, ne s'affiche pas du tout. Elle ne contient que du basique :
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head>
<body>GA !</body></html>
... 0n peut difficilement faire plus simple !
La solution pour l'afficher consiste à remplacer les caractères accentués ("é") par leur code html/utf-8 hexadécimal ("%E9"), ce qui, il me semble, devrait se faire automatiquement puisque toute la chaîne est en utf-8, et l'utilisation de tels caractères, conforme aux normes W3C (depuis 2005 il me semble), est sensée être gérée par les navigateurs récents. D'après mon service technique 1&1, cela prouve que le problème ne vient pas du serveur, celui-ci recevant de toute façon toujours, lorsque le navigateur les lui envoie correctement, les caractères codés et parvenant lorsqu'on les lui donne à afficher la page, mais du navigateur qui ne parvient pas à coder ces caractères. 0ui, mais...
Le problème se pose avec tous les navigateurs testés (ie6, Firefox3, Google Chrome) sous quelque environnement que ce soit (Vista, XP, Mac 0s X, Fedora), quelque soit le pc utilisé (2 pc, l'un d'un an ; l'autre de 4 ans, à jours ; et un mac assez vieux mais également à jour), et quelque soit le codage paramétré dans le dit navigateur (utf-8, iso occidental, automatique) ; et ces mêmes navigateurs parviennent sans problème à afficher des pages wikipedia ou Amazon dont les url sont accentuées, même sans coder les accents, de même que toutes les pages placées sur d'autres serveurs que le mien, telles que http://www.cheminee-bio-ethanol.org/catalog/cheminées-modernes-c-21.html ! Mon service technique m'assure que leurs serveurs supportent sans problème les accents avec un codage utf-8, et que plusieurs utilisateurs utilisent des url avec de tels caractères sans problème...
Alors, si ça ne vient ni du serveur, ni de mon fichier, ni du navigateur... D'où vient ce *$¤#@¨~"!&+ de problème, très... problématique (!) puisqu'il m'empêche :
- de faire un lien externe vers un article au titre accentué de mon wiki sans coder l'url, ce qui est fastidieux à l'usage pour l'utilisateur lambda qui voudrait, par exemple, faire un lien d'un forum externe vers l'article "réalité" du wiki, et obtiendrai alors une erreur 404 ;
- de faire fonctionner correctement le moteur de recherche interne, qui ne trouve pas les articles au titre accentué
(curieusement les liens internes d'article à article fonctionnent sans problème, le mediawiki codant probablement automatiquement l'url dans ces cas là, mais le moteur de recherche ne trouve aucun article dont le titre est accentué - par ailleurs la fonction "rechercher : lire" ne fonctionne pas, ce qui est peut-être lié à ce problème de codage)
?!
Pourquoi puis-je afficher les url accentuées d'autres sites mais pas du mien ? Comment régler ce problème ?! Avez-vous svp une piste ?
La seule solution éventuelle que je vois pour l'instant serait d'utiliser un urlencode à chaque saisie par l'utilisateur du wiki, mais :
1) C'est relativement complexe à mon niveau ;
2) Le wiki comporte énormément de fichiers dont un certain nombre contiennent des zones de saisie ; je n'ai pas la moindre idée d'où trouver les parties de code concernées ; la doc et les forums d'entraide pour mediawiki sont anglophones et je suis archi-nul en anglais (ou je sais, mea culpa, encore).
3) Je souhaiterais conserver les accents (normalement gérés en utf-8 par les serveurs et navigateurs récents, et aux normes) par souci esthétique et orthographique, mais j'avoue que ce dernier argument, plutôt esthétique, est accessoire.
Je n'y comprends plus rien, et je commence à m'embrouiller après 3 nuits de travail acharné pour tenter de résoudre ce problème probablement pas insoluble (je l'espère !), mais en tout cas difficilement soluble à mon niveau ! Dois-je changer d'hébergeur, et si oui quels hébergeurs n'auraient pas ce problème ? Y-a-t-il une manip à faire au niveau du serveur (.htaccess ?) ? Comment faire ?!
Je serais infiniment reconnaissant à toute personne qui aurait une solution ou ne serait-ce qu'une piste pour solutionner ce problème ! Je veux bien lui édifier une église (virtuelle, hein, faut pas pousser ^^).
Merci d'avance à toute âme charitable !
PS : si vous voulez tester le wiki, il se trouve à cette adresse : http://posthumanisme.b0t.info ou http://b0t.info//mediawiki-1.14.0/index.php5?title=Accueil
A voir également:
- Problème d'url accentuées
- Url - Guide
- The requested url was rejected. please consult with your administrator. ✓ - Forum Réseaux sociaux
- Majuscules accentuées - Guide
- Comment changer url iptv - Forum Créer un site
- Ping url ✓ - Forum Windows
3 réponses
normalement il y a pas besoins de lighne dans le .htaccesss pour mettre en utf-8 pourrait tu essayer de supprimer tout tous htaccess pour voir
J'avais essayé de purger, vider, puis cirer le .haccess... Rien à faire.
En fin de compte je viens de passer la nuit à tout réinstaller proprement et ça marche, donc problème réglé mais comment, je n'en sais rien. Visiblement mon hébergeur ne gère pas les caractères non latins dans les url, mais médiawiki encode ces caractères ce qui lui permet de fonctionner avec de telles url... Pour une raison que j'ignore cet encodage ne se faisait pas.
Merci en tout cas !
En fin de compte je viens de passer la nuit à tout réinstaller proprement et ça marche, donc problème réglé mais comment, je n'en sais rien. Visiblement mon hébergeur ne gère pas les caractères non latins dans les url, mais médiawiki encode ces caractères ce qui lui permet de fonctionner avec de telles url... Pour une raison que j'ignore cet encodage ne se faisait pas.
Merci en tout cas !
Bon donc les url fonctionnent... Mais le moteur de recherche interne... Aïe aïe aïe ! Il a énormément de mal à trouver les articles dont le titre est accentué, et alors quand il s'agit de chercher un article dont la première lettre du titre est accentuée, c'est la cata : étant donné que mediawiki met automatiquement la première lettre en majuscule, le moteur de recherche ne trouve plus rien car il n'arrive pas à convertir une lettre accentuée minuscule en son équivalent en majuscule... :/ Un pote m'a dit, sans certitude, que ça pourrait être un problème d'intervalle : les majuscules dans la table utf-8 seraient à 30 bits de leur équivalent minuscule... Sauf pour les lettres accentuées, donc si mediawiki fait une simple translation sur ces bits effectivement ça ne marche pas... Mais je ne pense pas que ce soit ça car ça donnerait des caractères foireux et là les minuscules accentuées ne sont pas du tout transformées en majuscules mais restent telles quelles.
J'ai bien essayé d'encoder le texte entré dans le champ "rechercher" pour virer les accents, et de faire la même chose dans les titres comparés, mais d'une part il y a des variables partout et je m'y perds, de sorte que je n'arrive pas à trouver le bon moment auquel doit se faire l'encodage du texte recherché, et d'autre part apparemment la recherche ne se fait pas prioritairement en comparant les termes recherchés aux titres stockés dans la base de donnée mais en transformant ces termes en url de titre et en voyant s'il obtient une page existante, enfin je galère. :/
Si quelqu'un connait un peu mediawiki et sait comment régler ce problème (ignorer majuscules et accents serait l'idéal), ou connait un moteur interne alternatif que je pourrais installer, ça me rendrait un sacré service ! Je n'ai trouvé que Lucene mais ça requiert java et je ne peux pas installer java sur mon serveur mutualisé 1and1.
Au pire je peux créer une page de redirection (dont le titre ne comporterait pas d'accent) vers l'article accentué, mais il faudrait dans ce cas scripter pour supprimer les accents du texte tapé dans le champ "rechercher" pour la recherche sur les titres... Mais non pour la recherche dans le contenu, car sinon on ne trouverait plus les occurences des termes recherchés dans les articles, puisqu'ils sont évidemment écrits en français, donc avec des accents, dans le corps des articles. Enfin c'est bien compliqué quoi. L'idéal serait vraiment qu'il ne tienne pas du tout compte das accents, mais je ne vois pas du tout comment faire. :/ Le français c'est beau mais pas très pratique en informatique ! ^^"
Merci d'avance à qui pourrait m'aider !
J'ai bien essayé d'encoder le texte entré dans le champ "rechercher" pour virer les accents, et de faire la même chose dans les titres comparés, mais d'une part il y a des variables partout et je m'y perds, de sorte que je n'arrive pas à trouver le bon moment auquel doit se faire l'encodage du texte recherché, et d'autre part apparemment la recherche ne se fait pas prioritairement en comparant les termes recherchés aux titres stockés dans la base de donnée mais en transformant ces termes en url de titre et en voyant s'il obtient une page existante, enfin je galère. :/
Si quelqu'un connait un peu mediawiki et sait comment régler ce problème (ignorer majuscules et accents serait l'idéal), ou connait un moteur interne alternatif que je pourrais installer, ça me rendrait un sacré service ! Je n'ai trouvé que Lucene mais ça requiert java et je ne peux pas installer java sur mon serveur mutualisé 1and1.
Au pire je peux créer une page de redirection (dont le titre ne comporterait pas d'accent) vers l'article accentué, mais il faudrait dans ce cas scripter pour supprimer les accents du texte tapé dans le champ "rechercher" pour la recherche sur les titres... Mais non pour la recherche dans le contenu, car sinon on ne trouverait plus les occurences des termes recherchés dans les articles, puisqu'ils sont évidemment écrits en français, donc avec des accents, dans le corps des articles. Enfin c'est bien compliqué quoi. L'idéal serait vraiment qu'il ne tienne pas du tout compte das accents, mais je ne vois pas du tout comment faire. :/ Le français c'est beau mais pas très pratique en informatique ! ^^"
Merci d'avance à qui pourrait m'aider !