Pblm d'accent avec base de données MySQL

Résolu/Fermé
a.finot Messages postés 74 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 12 février 2014 - 3 nov. 2008 à 17:20
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 - 4 nov. 2008 à 18:23
Bonjour,
J'ai des champs de texte (VARCHAR et TEXT) dans une base de données MySQL que j'aimerais afficher dans une page PHP mais les accents n'apparaissent pas ?
Je ne suis pas sûre que cela ait un rapport mais l'interclassement s'est automatiquement réglè sur latin swedish. Je l'ai modifié pour utf8_unicode-ci mais ça ne change rien... A l'aide !!!!!!!!!!!!!!!!
Est-ce que quelqu'un a déjà rencontré ce problème ?
Merci

6 réponses

Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
3 nov. 2008 à 19:21
Bonjour,

Je n'ai pas rencontré ce problème, mais je crois qu'il existe une fonction en php pour le régler.

Essais de voir ces deux fonctions, qui travaillent ensemble. La première devrait être utilisée pour l'enregistrement dans ta bdd, la seconde, pour la retransmission de ton texte, si ça ne se fait pas normalement^^

http://fr3.php.net/manual/fr/function.htmlentities.php

http://fr3.php.net/manual/fr/function.html-entity-decode.php
0
a.finot Messages postés 74 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 12 février 2014 2
3 nov. 2008 à 19:46
Salut smoking bird !

Merci bcp pour le tuyau. Effectivement la fonction htmlentities a réglé mon problème mais j'utilisais aussi nl2br pour les sauts de ligne... mon, problème est donc à moitié réglé ;-).
Est-ce tu sais si on peut combiner les deux ?

Merci,
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
3 nov. 2008 à 19:55
Colle du soir bonsoir :D

Je sais pas!! :)

J'ai jamais eu à l'utiliser. En revanche, je formate toutes les chaînes que je récupère via formulaire, avant de les retransmettre dans ma bdd, et j'ai aussi une fonction pour les reformater à la sortie :) (j'avais des doublons de br en édition^^)

	
//modèle la chaîne avant de la rentrer dans la bdd, cette fonction nettoie et est supposée sécuriser un minimum les entrées extérieures
          function shapeString( $stringGiven ) {
			$stringGiven=addslashes($stringGiven);
			$stringGiven=nl2br($stringGiven);
			$shapeString=strip_tags($stringGiven,"<b><i><br><h3>");
			return $shapeString;
		}

//Parfois je suis confronté à des doublons de <br/>, cette chaîne me protège contre ça^^	
	function shapeStringOut($string) {
		$string=stripslashes($string);
		$string=str_replace('<br />','',$string);
		return $string;
	}



Si ça peut t'être utile :)
0
a.finot Messages postés 74 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 12 février 2014 2
3 nov. 2008 à 19:59
Je vais essayer ça demain à tête reposée.
Je te tiendrai au courant !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
3 nov. 2008 à 20:09
ça marche :)
0
a.finot Messages postés 74 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 12 février 2014 2
4 nov. 2008 à 16:10
Salut,

Voici le code que j'ai utilisé pour avoir les accents et les sauts de ligne ;-)
nl2br(htmlentities($row_rsActu['texte']));

Merci pour ton aide.

A +
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
4 nov. 2008 à 18:23
lol j't'en prie^^

@+, et n'oublis pas de fermer le fil^^
0