Jeudi 10 Juil 2025
17:15
[S'inscrire]  [Mon Profil]  [Messages privés
[Liste des Membres] [FAQ] [ Connexion ]

Recherche avancée
 
Ecussons
Autocollants
Polos
Retour au site
Retour au forum

Cette version du forum n'est désormais accessible que pour lire les passionants échanges et partage de techniques qui ont déjà été rédigées ici.

Pour participer aux échanges interscouts, merci d'utiliser
le nouveau forum

 

          
Auteur
Bug...
  Cliquez pour charger les messages précédents [...]
Zebre
Zebra One

Nous a rejoints le : 19 Oct 2001
Messages : 13 984

Réside à : Lyon
Patientez...

Le problème n'est pas la conversion en caractère HTML.
Il existe effectivement une fonction, que j'utilise à peu près partout, pour transformer tous les caractères spéciaux en leur équivalent HTML, et ça ne rpend qu'une ligne.
Je ne l'utilise pas dans la preview parce que le but du preview c'est de voir le rendu. (Mais c'est vrai que ça oblige à retaper les caractère spéciaux).

Non le problème que je rencontre est bien plus déconcertant et j'ai eu beu chercherune slution pendant nue journée entière sur tous les forums, je n'ai rien trouvé d'autre que le réencodage de tout le forum.
Mais je ne connaissais pas la fonction unicode_encode($input, "ISO-8859-1");
(dis donc, tu as l'air calé Corwin, d'où tu la sort celle-là)

Pour vous donner un ordre d'idée du problème, volà comment je le résoud aujourd'hui (bidouillage) :
Code:

$message = str_replace("â?¬","€", $message); // le symbole € ne passe pas sinon
$message = str_replace("Å?","œ", $message); // pour le symbole œ
$message = str_replace("Å’","Œ", $message); // pour le symbole Œ
$message = str_replace("æ?","æ", $message); // pour le symbole æ
$message = str_replace("â€?","’", $message); // pour le symbole æ


$message = utf8_decode($message);


et je ne trouve la chaîne de caractère "â?¬" dans aucun genre de langage (bon, je ne les ai pas tous fait), mais c'est ce que me rend le jquery s'il voit passer des caractères spéciaux.
(et si je les transforme en HTML, c'est pareil...)
187
Infos sur le membre et actions possibles
  Je suis SdF + FSE  Profil de Zebre  Voir le site web de Zebre  Message privé      Répondre en citant
izard
Membre confirmé

Nous a rejoints le : 25 Juin 2008
Messages : 936

Réside à : Grenoble
Patientez...

Disons qu'avec quelques années de programamtion en PHP et quelques contributions à la doc officielle, on finit par la connaitre un peu ^^ Mais bon, j'avais pas fait attention, la fonction dont j'ai parlé est expérimentale (prévue pour PHP6 en fait) ... Sinon, j'ai un peu regardé ton problème, et le texte de gauche est la représentation en ISO des valeurs numériques associées au caractère UTF-8 en question. Par exemple le symbole Euro vaut en UTF-8 : 226 130 172, ce qui correspond en ISO à : A ciconflèxe, caractère réservé, carret. Voila un bout de code qui devrait te simplifier la vie si ton PHP supporte mbstring :

Code:

$msg = mb_convert_encoding($msg, "ISO-8859-15", "UTF-8");



Evidemment, ce code ne fonctionne pas dans tous les cas, car puisqu'on repasse en ISO on perd toutes les fonctionalités de l'Unicode ; tu ne pourra afficher que des caractères ISO, donc pas de caractères grecs, de cyrillique ou de kanjis par exemple. Si un utilisateur entre des caractères Unicode non latins, ils seront remplacés par des '?', car ils ne sont pas représentables selon la table ISO. Maintenant, si tu veux pouvoir supporter aussi ces caractères éxotiques, tu n'as pas le choix, il FAUDRA passer tout le forum en Unicode ...

PS: Essaye déjà de passer en ISO-8859-15, ça t'ajoutera le support du caractère Euro (qui n'est pas supporté par ISO-8859-1). Les deux charsets sont identiques à l'exception de quelques caractères (euro, et o-e liés notamment) ; la liste de ces caractères est dispo sur Wikipedia.
188
Infos sur le membre et actions possibles
  Je suis SGDF  Profil de izard  Voir le site web de izard  Message privé      Répondre en citant
Zebre
Zebra One

Nous a rejoints le : 19 Oct 2001
Messages : 13 984

Réside à : Lyon
Patientez...

Pour l'instant cette solution me convient, repasser tout le forum en UTF8 ça veut dire pedre tous les accents des anciens posts... autant dire rendre tout le forum inutilisable, sauf pour les futurs messages.

Ce que je cherche c'est justeemnt à éviter que les caractère spéciaux soient remplacés par des "?" (ce qui est le cas par défaut. Une petite transfo en UTF8 permet de les voir en caractère "â?¬", et de là, si la combinaison est assez unique, de les transformer en caractère html correspondant.
Ta fonction, si j'ai bien compris, me ramène au cas par défaut, non ?

(contributeur à la doc php... dis, tu ne serais pas dispo ces prochaines semaines Grand sourire )
189
Infos sur le membre et actions possibles
  Je suis SdF + FSE  Profil de Zebre  Voir le site web de Zebre  Message privé      Répondre en citant
izard
Membre confirmé

Nous a rejoints le : 25 Juin 2008
Messages : 936

Réside à : Grenoble
Patientez...

Donc en gros ton objectif est de représenter en entités html l'ensemble des caractères unicodes non latins, donc non convertibles en ISO ?

Code:

$msg = htmlentities($msg, ENT_QUOTES, mb_detect_encoding($msg));



Si ton message est en unicode, alors les entités sont calculées à partir de la version unicode de ton texte. Si jamais on lui rentre du latin-1, le script s'en rend compte et fonctionne normalement ... En fait ça marche même avec tous les encodages supportés par PHP (cyrillique, kanjis, etc ...)

Sinon en attendant tu peux aussi utiliser la notation Unicode : Tu veux afficher en utilisant le charset ASCII un caractère unicode étendu. Par exemple le symbole Euro, dont la valeur unicode est 226, 130, 172 en décimal, soit E282AC en hexadécimal, se note � Ensuite, le navigateur se débrouille pour afficher le bon caractère unicode (même si ta page est en ISO ou même en ASCII !)
190
Infos sur le membre et actions possibles
  Je suis SGDF  Profil de izard  Voir le site web de izard  Message privé      Répondre en citant
izard
Membre confirmé

Nous a rejoints le : 25 Juin 2008
Messages : 936

Réside à : Grenoble
Patientez...

Bon, je voulais éditer mon message pour ajouter des choses, mais comme j'ai fait joujou avec les entités Unicode et que je ne voulais pas tout casser, je préfère créer un second message ...

Tu peux convertir le contenu des messages en Unicode sans perte, grâce à ta base de données ! Il suffit de créer une nouvelle table avec le bon encodage et d'exporter les données de l'ancienne pour les importer dans la nouvelle. Ton gestionnaire de DBMS se débrouillera tout seul comme un grand ! Sinon, les prochaines semaines je ne serai pas forcément disponible comme je veux, mais envoie toujours les choses que tu veux que je zieute, je ferai mon possible pour m'y intéresser ...
191
Infos sur le membre et actions possibles
  Je suis SGDF  Profil de izard  Voir le site web de izard  Message privé      Répondre en citant
Zebre
Zebra One

Nous a rejoints le : 19 Oct 2001
Messages : 13 984

Réside à : Lyon
Patientez...

Ah ouais, pas bête le coup de la copie de base !!!
Pas bête du tout !
Mais j'essayerai ton inclusion de fonction avant ça, ça peut valoir le coup.
192
Infos sur le membre et actions possibles
  Je suis SdF + FSE  Profil de Zebre  Voir le site web de Zebre  Message privé      Répondre en citant
mendu1
Membre honoré
 




Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/clients/989b453fd26fb722d555ad28b5a7c53e/web/forum/voirtopic.php on line 672
  
TECHNIQUE: 12 points
BONNE HUMEUR: 74 points
Forêt : Campeur
Nous a rejoints le : 22 Janv 2007
Messages : 6 678

Réside à : ar vro vigoudenn
Patientez...

Simplement pour dire que ça fonctionne mieux , merci !
193
Infos sur le membre et actions possibles
  Je suis SDF avant la révolution cutt  Profil de mendu1  Voir le site web de mendu1  Message privé      Répondre en citant
Dingo
Membre banni
 
Forêt : Campeur
Nous a rejoints le : 21 Juin 2008
Messages : 6 856
Patientez...

Mort de rire ! ca continue à buger avec les étoiles - cf le dernier point donner à old sur le forum agse et église
194
Infos sur le membre et actions possibles
  Je suis ancien sdf/fse/suf+dorénavant ENF  Profil de Dingo  Voir le site web de Dingo  Message privé      Répondre en citant
Zebre
Zebra One

Nous a rejoints le : 19 Oct 2001
Messages : 13 984

Réside à : Lyon
Patientez...

Je ne vois pas de problème...
195
Infos sur le membre et actions possibles
  Je suis SdF + FSE  Profil de Zebre  Voir le site web de Zebre  Message privé      Répondre en citant
Dingo
Membre banni
 
Forêt : Campeur
Nous a rejoints le : 21 Juin 2008
Messages : 6 856
Patientez...

je sais que tu n'es pas fautif - mais c'est énervant
grosse colère je prépare un post et zou il se valide, sans que je fasse rien que "prévisualiser"

pas eu le temps de corriger d'énormes faute du genre "peux t on" et une heure impossible de se connecté sur le forum

grosse colère et quand je peux - je ne peux plus corriger l'heure est passé, Grrr ça énerve !!!
196
Infos sur le membre et actions possibles
  Je suis ancien sdf/fse/suf+dorénavant ENF  Profil de Dingo  Voir le site web de Dingo  Message privé      Répondre en citant
Asellia
la chauve-souris
  
TECHNIQUE: 23 points
BONNE HUMEUR: 34 points
Mer : Vigie - Timonier
Nous a rejoints le : 31 Août 2003
Messages : 3 308

Réside à : Essonnes
Patientez...

patroooooooooooooooooooooooooon!! j'ai un mp, mais le lien ne marche pas... je n'ai même pas de petite main quand je passe la souris dessus... je vais contourner le problème en allant directement dans mes mp, mais c'est po pratique...
197
Infos sur le membre et actions possibles
  Je suis ENF  Profil de Asellia  Voir le site web de Asellia  Message privé      Répondre en citant
Zebre
Zebra One

Nous a rejoints le : 19 Oct 2001
Messages : 13 984

Réside à : Lyon
Patientez...

Envoie moi un MP que je teste
198
Infos sur le membre et actions possibles
  Je suis SdF + FSE  Profil de Zebre  Voir le site web de Zebre  Message privé      Répondre en citant
Irbis
Première Dame du forum
  
TECHNIQUE: 29 points
BONNE HUMEUR: 45 points
Cité : Serviteur
Nous a rejoints le : 19 Avr 2004
Messages : 1 736

Réside à : Besançon
Patientez...


Fatal error: Uncaught mysqli_sql_exception: Table 'esfc_fraternitenet.membres' doesn't exist in /home/clients/989b453fd26fb722d555ad28b5a7c53e/web/forum/voirtopic.php:973 Stack trace: #0 /home/clients/989b453fd26fb722d555ad28b5a7c53e/web/forum/voirtopic.php(973): mysqli->query('UPDATE membres ...') #1 {main} thrown in /home/clients/989b453fd26fb722d555ad28b5a7c53e/web/forum/voirtopic.php on line 973