Rechercher : dans
Par :

Pblm d'accent avec base de données MySQL

Dernière réponse le 4 nov 2008 à 18:23:09 a.finot, le 3 nov 2008 à 17:20:27 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Internet Explorer 7.0

1

Smoking bird, le 3 nov 2008 à 19:21:55

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­

Répondre à Smoking bird

2

a.finot, le 3 nov 2008 à 19:46:10

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,

Répondre à a.finot

3

Smoking bird, le 3 nov 2008 à 19:55:38

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 :)

Répondre à Smoking bird

4

a.finot, le 3 nov 2008 à 19:59:42

Je vais essayer ça demain à tête reposée.
Je te tiendrai au courant !

Répondre à a.finot

5

Smoking bird, le 3 nov 2008 à 20:09:46

ça marche :)

Répondre à Smoking bird

6

a.finot, le 4 nov 2008 à 16:10:07

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 +

Répondre à a.finot

7

 Smoking bird, le 4 nov 2008 à 18:23:09

Lol j't'en prie^^

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

Répondre à Smoking bird