Encodage UTF-8
5 messages
• Page 1 sur 1
-

Bacteries - WRInaute passionné

- Messages: 1369
- Inscription: 27 Mai 2004
Encodage UTF-8
Bonjour,
il y a peu j'ai changé d'hébergeur, mais manque de bol en passant de ma BDD sous MySQL 4.1 vers mon nouvel hébergeur les caractères des textes de ma base de données étaient totalement différent; la base de données de mon nouvel hébergeur étant en MySQL 4.0.
Bon je met les mains dans le comboui, change l'encodage de mes pages en UTF-8 et là déjà une bonne partie de mes pages revient à la normale, une grande parties des textes provenant de ma BDD s'affichent désormais normalement.
Les textes en "dur" sont par contre mal affiché pour tout ce qui est caractère, là c'est ma faute j'aurais du mettre des é au lieu de é, je change ces textes et traque les textes sur le site.
Problème il me reste encore des pages où du texte provenant de ma base de données sont affiché étrangement.
exemple : http://www.metalorgie.com/punk/interviews.php?id=107
Et là je me perd dans les possibilités qu'offre les fonctions php. En utilisant utf8_encode ça résout des problèmes mais laisse des carctères étrange pour tout ce qui est "...", "'", """, ...
Exemple : http://www.metalorgie.com/metal/interviews.php?id=89
J'ai testé en utlisant html_entities, ... Mais je ne trouve pas de solution adéquat.
J'ai fait une fonction de ce style :
(on ne vois pas forcément bien, mais dans le second tableau ce sont les codes HTML des carctères)
Mais ça ne donne pas de très bon résultat, et surtout il suffit d'un caractère auquel je n'ai pas pensé pour que mon texte parte en live.
Quelqu'un aurait une solution?
merci
il y a peu j'ai changé d'hébergeur, mais manque de bol en passant de ma BDD sous MySQL 4.1 vers mon nouvel hébergeur les caractères des textes de ma base de données étaient totalement différent; la base de données de mon nouvel hébergeur étant en MySQL 4.0.
Bon je met les mains dans le comboui, change l'encodage de mes pages en UTF-8 et là déjà une bonne partie de mes pages revient à la normale, une grande parties des textes provenant de ma BDD s'affichent désormais normalement.
Les textes en "dur" sont par contre mal affiché pour tout ce qui est caractère, là c'est ma faute j'aurais du mettre des é au lieu de é, je change ces textes et traque les textes sur le site.
Problème il me reste encore des pages où du texte provenant de ma base de données sont affiché étrangement.
exemple : http://www.metalorgie.com/punk/interviews.php?id=107
Et là je me perd dans les possibilités qu'offre les fonctions php. En utilisant utf8_encode ça résout des problèmes mais laisse des carctères étrange pour tout ce qui est "...", "'", """, ...
Exemple : http://www.metalorgie.com/metal/interviews.php?id=89
J'ai testé en utlisant html_entities, ... Mais je ne trouve pas de solution adéquat.
J'ai fait une fonction de ce style :
- Code: Tout sélectionner
$accents = array("’", "'", "\"", "\"");
$code = array("’", "‘", "“", "”");
return str_replace($accents, $code, $chaine);
(on ne vois pas forcément bien, mais dans le second tableau ce sont les codes HTML des carctères)
Mais ça ne donne pas de très bon résultat, et surtout il suffit d'un caractère auquel je n'ai pas pensé pour que mon texte parte en live.
Quelqu'un aurait une solution?
merci
- zarlboro
- WRInaute occasionnel

- Messages: 284
- Inscription: 13 Juil 2004
salut!
est-ce que tu as essyé la fonction : mb_convert_encoding() ?
est-ce que tu fais gaffe au deuxième paramètre de le fonction html_entity_decode()?
c'est lui qui dit comment la fonction doit se comporter avec les quotes.
essaye avec la constante ENT_NOQUOTES. ça devrait résoudre ton problème je pense.
est-ce que tu as essyé la fonction : mb_convert_encoding() ?
est-ce que tu fais gaffe au deuxième paramètre de le fonction html_entity_decode()?
c'est lui qui dit comment la fonction doit se comporter avec les quotes.
essaye avec la constante ENT_NOQUOTES. ça devrait résoudre ton problème je pense.
-

Bacteries - WRInaute passionné

- Messages: 1369
- Inscription: 27 Mai 2004
Oui j'ai testé mais cela ne marchait pas du tout, car l'encodage par défaut est en ISO si mes souvenirs sont bons et je n'arrive pas à trouver le bon "nom" pour l'UTF-8
Je vais voir pour le mb_convert que je ne connais pas.
Merci.
Je vais voir pour le mb_convert que je ne connais pas.
Merci.
-

Bacteries - WRInaute passionné

- Messages: 1369
- Inscription: 27 Mai 2004
La fonction mb_convert marche bien, elle n'encode par contre pas tous les carctère spéciaux comme les 3 points, les quotes, ...
J'ai testé en utilisant html_entity_decode ou htmlentities, ... mais rien à faire ça merdouille.
J'ai donc fait une petite fonction qui remplace les carctère de ce genre les plus courant.
Merci pour votre aide.
J'ai testé en utilisant html_entity_decode ou htmlentities, ... mais rien à faire ça merdouille.
J'ai donc fait une petite fonction qui remplace les carctère de ce genre les plus courant.
Merci pour votre aide.
5 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- encodage html et utf 8
- Encodage UTF-8 & ISO ...
- Problème encodage iso et utf-8 Joomla 1.0.15
- Quel encodage/charset choisir ? UTF-8
- encodage UTF-8 est pages multi-langue
- Problème encodage de mon Blog utf-8 et iso-latin
- Quel est le meilleur encodage entre UTF-8 et ISO ?
- Encodage UTF-8 pour les pages web, mais pour la bdd ?
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
