salut les gars
bo j'ai un problème lorsque j'insère un caractère de type é ou à...dans la base de donnée
quelqu'un m'expliquer comment résoudre ce prb et merci ^^
Salut, il faut mettre :
// MySQL
mysql_query('SET NAMES utf8');
// PDO
$bdd->exec('SET NAMES utf8');
Si tu as toujours le problème mais lors d'un simple affichage de texte en php, il faut utiliser la fonction header() (Parce que tu n'utilises pas de balise <meta />)
Voilà :p
Les BDD sont par default en CHARSET et perso je n'ai jamais réussi a les convertir en UTF-8 . La solution est de passer par un script php pour ajouter les éléments via un formulaire HTML ;)
PS: C'est encodage pas codage :)
Bonne soirée;)
http://formation.upyupy.fr/html-xhtml/caracteres-speciaux/
Regarde ce lien, il y a des différents codes commençant par '&' , prend celui qu'il te faut, ça remplacera les é par exemple é = é
lors de l'insertion de données dans une table, é devient é dans la table.
La lecture ne pose pas de soucis, c'est seulement l'insertion.
J'ai aussi essayé de mettre array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'') dans la connexion pdo mais du coup ni la lecture ni l'écriture ne fonctionnent.
Une idée de la marche à suivre ?
Merci beaucoup pour votre aide
L'encodage c'est toujours le bordel. Assure toi que tout est encodé pareil:
La page du formulaire
La table
La connection mysql avec SET NAMES UTF8
off aprés un long recherche jé trouver la solution bo:
j'ai met tout mes page encodage UTF-8 en ce cas l'insertion passe bien les l'affichage no é=>?
j'ai résoudre le prb avec htmlintitule($var'texte']);
Sinon essayes avec ISO-8859-1 dans un <meta/>
<?xml version="1.0" encoding="ISO-8859-1"?>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
Chez moi les accents passent.