Les Allergies
Alimentaires
Posez votre question Signaler

Transformer les accents en é avec PHP [Résolu]

mouse 136Messages postés 4 avril 2001Date d'inscription - Dernière réponse le 16 mars 2012 à 19:40
Bonjour, j'avance pour mon site, mais je rencontre toujours des problèmes....
En voila un nouveau:

je vais chercher tout le contenanu de mes pages dans une base MySQL. Ce contenu et ecrit soit par moi, soit par de tierce personne.
Le problème, c'est que lorsque dans la table il y a un é, mon code html contiendra un é un non un é
Donc une personne dont le navigateur n'est pas configuré pour le français ne lira pas un é.
Vous connaissez un moyen de remplacer automatiquement ces é par des é ?

Merci
Lire la suite 

Transformer les accents en é avec PHP »

11 réponses
Réponse
+42
moins plus
Tu as htmlentities() qui fait ça (et html_entity_decode() si tu veux faire l'inverse).
Ajouter un commentaire
Réponse
+18
moins plus
Voici une petite fonction pour encoder les accents en caractères html :

function char($text)
{
	$text = htmlentities($text, ENT_NOQUOTES, "UTF-8");
	$text = htmlspecialchars_decode($text);
	return $text;
}


la première commande transforme tout (accents et balises) en code html
la suivante remet les balises html
au final, seuls les accents sont modifiés

Exemple :
echo char("Hé ! texte a<u>ccen</u>tué");

génère le code html suivant
--> H&eacute; ! texte a<u>ccen</u>tu&eacute;
qui affiche :
--> Hé ! texte accentué
Elliot - 29 janv. 2012 à 14:58
Super! Ça fonctionne très bien.
Ajouter un commentaire
Réponse
+5
moins plus
Nous sommes en 2012 et UTF-8 est (devrait être utilisé.
Ajouter un commentaire
Réponse
+4
moins plus
Je sais que c'est mal de déterrer un sujet vieux comme hérode, mais cela permet aux autres utilisateurs de trouver une réponse fiable :

Il suffit de faire cet appel :
$good = strtr($bad, get_html_translation_table(HTML_ENTITIES, ENT_QUOTES));
Elliot - 29 janv. 2012 à 14:56
Je l'ai esaayé et ça à donné de mauvias résultats.
zedka - 16 mars 2012 à 19:40
Elliot la proposition juste au dessus fonctionne parfaitement, celle de Lazthib.
Ajouter un commentaire
Réponse
+2
moins plus
Si vous avez à © c'est que vous n'encodez pas en utf-8 !!
Ajouter un commentaire
Réponse
-5
moins plus
sauf que ces fonctions ne trnasforment pas les é en é mais en é
ca revient au même, car si on encode et décode on obtient le é au final, mais dans la base de données c'est tout moche :(
Ajouter un commentaire
Réponse
-5
moins plus
Ouai mais c'est plus secure ^^
Ajouter un commentaire
Réponse
-6
moins plus
Tu peux utiliser ereg_replace() mais il existe peut etre une fonction qui soit specialement destinée a ca, en tout cas, je ne la connais pas.
Ajouter un commentaire
Ce document intitulé « Transformer les accents en é avec PHP » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?