Affichage lettres accentuées

Pour les problèmes avec l'installation ou l'utilisation du script - About install and use problems.

Modérateurs : boulmontjj, Pierre G., Malabar, Otomatic

Règles du forum
Pensez à effectuer une recherche et à consulter la FAQ, la réponse à votre question a de grandes chances d'avoir déjà été donnée ;-).
Dans votre message, n'oubliez pas de mentionner l'URL vers votre livre d'or, cela nous permet de vous aider bien plus efficacement :super:.
Otomatic
Modérateur
Modérateur
Messages : 738
Inscription : Ven 11 Août 2006, 09:33
Localisation : Paris
Contact :

Re: Affichage lettres accentuées

Messagepar Otomatic » Lun 15 Oct 2018, 09:29

Bonjour,
Les nouveaux messages ne présentent pas de problème de caractères diacritiques parce qu'il ont été écrits dans le nouvel environnement de votre hébergeur déclaré par défaut avec un jeu de caractères utf-8.
Mais, regardez bien, les textes inhérents au Livre d'Or présentent toujours le problème, par exemple : “pr�c�dente” ou “ Messages : 1 � 50”
Nous allons procéder par étapes qui vous seront données dans mes messages suivants.
Mais, avant d'effectuer les modifications, faites une sauvegarde complète du Livre d'Or tel qu'il est actuellement chez l'hébergeur de manière à pouvoir revenir en arrière facilement.
Ce n'est pas par ce que l'erreur se propage qu'elle devient vérité. Gandhi

Otomatic
Modérateur
Modérateur
Messages : 738
Inscription : Ven 11 Août 2006, 09:33
Localisation : Paris
Contact :

Re: Affichage lettres accentuées

Messagepar Otomatic » Lun 15 Oct 2018, 09:58

Bonjour,

Avec Notepad++, ouvrez le fichier livredor\languages\francais.php

- 1 - Menu Encodage -> Convertir en utf-8

- 2 - Remplacer :

Code : Tout sélectionner

$SCRIPT_ENCODAGE = "iso-8859-1";

par

Code : Tout sélectionner

$SCRIPT_ENCODAGE = "utf-8";

- 3 - Sauver le fichier modifié.

Avec cette modification, les textes inhérents au Livre d'Or devraient être corrects.

Avant de passer à la suite, il faut être sûr que cette modification corrige bien le problème des � à la place des caractères diacritiques dans les messages inhérents au livre d'or.
Ce n'est pas par ce que l'erreur se propage qu'elle devient vérité. Gandhi

magnanime
Messages : 18
Inscription : Lun 16 Mai 2011, 11:49

Re: Affichage lettres accentuées

Messagepar magnanime » Mer 17 Oct 2018, 06:17

Bonjour Otomatic,
Désolé de ne pas vous avoir répondu plutôt mais j'étais absent de mon domicile.
J'ai effectué les modifications dans le fichier français.php mais toujours les ?
Cordialement.

Otomatic
Modérateur
Modérateur
Messages : 738
Inscription : Ven 11 Août 2006, 09:33
Localisation : Paris
Contact :

Re: Affichage lettres accentuées

Messagepar Otomatic » Mer 17 Oct 2018, 09:51

Bonjour,
magnanime a écrit :J'ai effectué les modifications dans le fichier français.php mais toujours les ?

J'ai bien précisé :
Avant de passer à la suite, il faut être sûr que cette modification corrige bien le problème des � à la place des caractères diacritiques dans les messages inhérents au livre d'or.
Qu'il y ait toujours les � à la place des é,è,à,ç et autres caractères diacritiques dans les anciens messages est, pour le moment, normal.

Mais, y a-t-il toujours les � dans les messages propres au livre d'or, par exemple "pr�c�dente" ou Retour � l'accueil du site lorsque vous appliquez les modifications de mon précédent message.
Ce n'est pas par ce que l'erreur se propage qu'elle devient vérité. Gandhi

magnanime
Messages : 18
Inscription : Lun 16 Mai 2011, 11:49

Re: Affichage lettres accentuées

Messagepar magnanime » Mer 17 Oct 2018, 10:30

Oui, c'est toujours pareil.
voir ici : http://www.vardecouverte.fr/livredor/

Otomatic
Modérateur
Modérateur
Messages : 738
Inscription : Ven 11 Août 2006, 09:33
Localisation : Paris
Contact :

Re: Affichage lettres accentuées

Messagepar Otomatic » Mer 17 Oct 2018, 13:54

Bonjour,

Là, je ne comprends pas !!!
C'est dans le fichier livreor\languages\francais.php que sont définis les messages propres au livre d'or comme "Précédente".
Dans ce fichier, l'élément qui défini le texte "Précédente" est :

Code : Tout sélectionner

$f_lang['precedente'] = "<< précédente";


Si ledit fichier est codé iso-8859-1 (Ce qui existe de base), dans un environnement utf-8, comme actuellement votre Livre d'Or, vous verrez : "pr�c�dente" puisque le mot en hexadécimal est représenté par "7072E963E964656E7465" et que les caractères E9 (é en iso-8859-1) sont des caractères invalides en utf-8.

Si ledit fichier est codé utf-8 (But de la modification demandée précédemment), dans un environnement utf-8, vous verrez bien "précédente" puisque le mot en hexadécimal est représenté par "7072C3A963C3A964656E7465" et que les caractères C3A9 (é en utf-8) sont valides en utf-8.

Exemple du fichier pour précédente
-- iso-8859-1

Code : Tout sélectionner

00003830h: 0A 24 66 5F 6C 61 6E 67 5B 27 70 72 65 63 65 64 ; .$f_lang['preced
00003840h: 65 6E 74 65 27 5D 20 3D 20 22 26 6C 74 3B 26 6C ; ente'] = "<&l
00003850h: 74 3B 20 70 72 E9 63 E9 64 65 6E 74 65 22 3B 0D ; t; précédente";.

-- utf-8

Code : Tout sélectionner

000038f0h: 0A 24 66 5F 6C 61 6E 67 5B 27 70 72 65 63 65 64 ; .$f_lang['preced
00003900h: 65 6E 74 65 27 5D 20 3D 20 22 26 6C 74 3B 26 6C ; ente'] = "<&l
00003910h: 74 3B 20 70 72 C3 A9 63 C3 A9 64 65 6E 74 65 22 ; t; précédente"


C'est pourquoi je ne comprends pas qu'avec le fichier recodé en utf-8 il soit toujours vu comme iso-8859-1.
Ce n'est pas par ce que l'erreur se propage qu'elle devient vérité. Gandhi

magnanime
Messages : 18
Inscription : Lun 16 Mai 2011, 11:49

Re: Affichage lettres accentuées

Messagepar magnanime » Mer 17 Oct 2018, 14:37

Bonjour Otomatic,
Avec Notepad++, et dans un autre de mes logiciels,j'avais remarqué que les codes en UTF-8 étaient les suivants pour :
xE9 pour é
xE8 pour ê
xE0 pour à
J'avais dû manuellement retaper à la main, toutes les lettres dans les fichiers.
Je vais essayé de faire la même chose et vous tiens au courant.
Cordialement.

Otomatic
Modérateur
Modérateur
Messages : 738
Inscription : Ven 11 Août 2006, 09:33
Localisation : Paris
Contact :

Re: Affichage lettres accentuées

Messagepar Otomatic » Mer 17 Oct 2018, 15:39

Re-bonjour,

Une page simple et limpide sur les jeux de caractères : http://www.miakinen.net/vrac/charsets/
Pas toutes les tables, mais les principales : ASCII - CP850 (Windows ligne de commande) - CP1252 (Windows Français) - Iso-8859-1 et -15 - Mac Roman ou CP437 et les correspondances en utf-8.
Ce n'est pas par ce que l'erreur se propage qu'elle devient vérité. Gandhi

magnanime
Messages : 18
Inscription : Lun 16 Mai 2011, 11:49

Re: Affichage lettres accentuées

Messagepar magnanime » Mer 17 Oct 2018, 18:49

Bonsoir Otomatic,
Merci pour ce lien je vais m'en servir assidûment.
Cordialement.

magnanime
Messages : 18
Inscription : Lun 16 Mai 2011, 11:49

Re: Affichage lettres accentuées

Messagepar magnanime » Jeu 18 Oct 2018, 07:36

Bonjour Otomatic,
Voilà, J'ai tout remplacé les codes dans la page français.php et maintenant, je n'ai plus de S dans la page "Administration" OUF !!!
Il me reste maintenant à régler les problèmes des ? dans les messages de mes lecteurs.
Cordialement.

Otomatic
Modérateur
Modérateur
Messages : 738
Inscription : Ven 11 Août 2006, 09:33
Localisation : Paris
Contact :

Re: Affichage lettres accentuées

Messagepar Otomatic » Jeu 18 Oct 2018, 09:56

Bonjour,
Les nouveaux messages ne posent pas de problèmes car ils ont été écrits dans un environnement utf-8 et envoyés comme tels (Codés utf-8) vers la base de données et, repris aussi comme tels (Codés utf-8) lors de la lecture depuis la base de données.
Les anciens messages sont repris depuis la base de données en envoyés tels qu'ils ont été codés, donc en iso-8859-1.

Ce que l'on va (tenter de) faire, c'est de dire à MySQL de faire transiter les messages vers le navigateur (character_set_connection) en les recodant en utf-8 quel que soit le codage d'origine .
Pour ce faire, dans la procédure de connexion à MySQL et à la base de données, on va utiliser la directive SQL “SET NAME”.
Dans la “class php alex_livre_sql“ utilisée par le Livre d'Or il n'existe pas d'origine de fonction set_names, nous allons donc procéder à sa création puis à son appel. Toutes les modifications suivantes sont à faire dans le fichier livreor\db\MySQL.php.

- 1 - - Ajout de la fonction
À la fin du fichier, juste avant la dernière accolade fermante }, ajouter la fonction set_names:

Code : Tout sélectionner

   //[modif oto] ajout pour SET NAMES utf8
   function set_names($names)   {
      return $this->sql_query('SET NAMES \''.$names.'\'');
   }

ce qui fait que cette fin de fichier doit devenir :

Code : Tout sélectionner

      return $result;
   }
   //[modif oto] ajout pour SET NAMES utf8
   function set_names($names)   {
      return $this->sql_query('SET NAMES \''.$names.'\'');
   }
}
?>
Nota : return $result; et l'accolade fermante qui suit existent d'origine.

- 2 - - Ajout de l'appel à la fonction
Au début du fichier, en principe ligne 41, juste avant

Code : Tout sélectionner

          return $this->db_connect_id;

insérer

Code : Tout sélectionner

         $this->set_names('utf8');

pour obtenir :

Code : Tout sélectionner

               @mysql_close($this->db_connect_id);
               $this->db_connect_id = $dbselect;
            }
         }
         $this->set_names('utf8');
         return $this->db_connect_id;
      }
      else

Sauver le fichier modifié.

Pour quelques explications supplémentaires, voir ce que j'avais écrit il y a quelques temps : MySQL et jeux de caractères http://forum.wampserver.com/read.php?1,49729
Ce n'est pas par ce que l'erreur se propage qu'elle devient vérité. Gandhi

magnanime
Messages : 18
Inscription : Lun 16 Mai 2011, 11:49

Re: Affichage lettres accentuées

Messagepar magnanime » Ven 19 Oct 2018, 06:34

Bonjour Otomatic,
Ce matin de très bonne heure, avec les idées claires, j'ai appliqué les modifications au fichier MySQL.php et j'ai pu constaté que tout les les S avaient été correctement remplacé sauf les dernier messages qui étaient avant se retrouvaient modifiés comme par exemple :
Très bon site . Très clair et fonctionnel. Continuer, je vais le faire connaître à mes amis.
J'ai corrigé ceux-ci et j'ai rédigé moi même un témoignage sur le livre d'or afin de contrôler si les nouveaux seraient correctement orthographiés.
Et bien :
BRAVO ! Et merci mille fois pour votre aide et votre patience envers moi.
Vous pouvez constater le résultat ici : http://www.vardecouverte.fr/livredor/
Le dernier message est un essai que j'ai rédigé, il est sans erreur d'affichage.
Cordialement.


Revenir vers « Installation & utilisation »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 8 invités