Création
d'entreprise
Posez votre question Signaler

[utf8] probleme accent mysql [Résolu]

crazyiop - Dernière réponse le 21 mai 2012 à 16:27
Bonjour,
j'ai un probleme d'accent ...
j'ai une base de donnée mysql avec :
Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
Interclassement pour la connection MySQL: utf8_general_ci
dans laquelle il y'a une table avec Interclassement utf8_general_ci
comprenant un champs tinytext utf8_general_ci
le tout est afficher sur une page php avec un charset=utf-8
Mais la page affiche des "?" a la place des ë é è ...
que dois-je changer pour que le tout soit compatible ??
Cordialement, Crazyiop
Lire la suite 

[utf8] probleme accent mysql »

89 réponses
Réponse
+113
moins plus
Le problème dans le cas des ? au lieu des accents vient du fait que ton encodage de la page est bien en UTF8 mais les données en latin. Avant de recuperer tes données (apres la connexion mysql) fait un mysql_query("SET NAMES UTF8");

http://blog.ritrattu.com/2007/08/29/convertir-un-site-en-utf8-phpmysql/Configuration: Windows Vista Firefox 2.0.0.6
opopop - 1 mai 2012 à 09:56
Un grand Merci DeudTension !!!
J'ai bcp cherché avant de tomber sur ta solution, toute récente ;-)

MERCI
quur - 15 mai 2012 à 17:30
i love you
Gorphals - 21 mai 2012 à 16:27
Merci également!!! ;-)
Ajouter un commentaire
Réponse
+7
moins plus
des fois le problème de l'encodage en UTF8 se pose lorsqu'on encode la chaine à plusieurs reprises au même endroit, appliquer par exemple un utf8_decode("chaine de caractère") tout en utilisant un mysql_query("SET NAMES UTF8") ne résoudra pas le problème mais bien au contraire il peut le créer, ce qu'il faut retenir pour coder en UTF8 c'est qu'il faut:

-insérer la balise meta:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
cela définit l'encodage du navigateur par défaut.
sinon utiliser des utf8_decode() au cas ou en l'appelle avec un autre encodage en cas besoin.

-vérifier l'interclassement de la base de données, des tables, et des champs text et varchars en utf8_general_ci.

- définir mysql_query("SET NAMES UTF8") sur la chaine de connexion
Ajouter un commentaire
Réponse
+3
moins plus
Bon je sais que ce sujet date de longtemps mais vue que j'étais passé par ici parce que j'en avais besoin je me suis dit que d'autre auront besoin de la solution que j'ai trouvé..
Il faut tout simplement modifier le charset > <meta charset="ISO-8859-1">
maka54- 17 déc. 2011 à 14:30
le sujet est vieux en effet, et vaut mieux ne pas répondre si c'est pour induire les gens en erreur

et il ne faut absolument pas mettre <meta charset="ISO-8859-1"> comme tu le dis
mera.lavie- 17 déc. 2011 à 15:15
Ah bon pourquoi ?
maka54- 17 déc. 2011 à 15:31
si tu décides de faire un site en utf8, tu le fais de A à Z

tout d'abord labase de données créée en utf8
utf8_unicode_ci (interclassement utf8_unicode_ci)

on ajoute la ligne mysql_query("SET NAMES UTF8"); après la connexion à la base

les pages du site codé en utf8 sans bom (à cause des caractères invisibles qui créent des erreurs)

le meta dans le head sera en utf8 : <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >

le charset au niveau du serveur en utf8
pour cela on crée un fichier .htaccess et on place le code suivant :
AddDefaultCharset UTF-8

Avec tout çà, il n'y aura aucun souci d'accent, de caractères bizarres ni sur vos pages ni dans la base de données
Ajouter un commentaire
Réponse
+2
moins plus
MMMMerci tu me sauves la vie !!!! encore Merci pour cette info existentielle ;-)
Ajouter un commentaire
Réponse
+1
moins plus
Merci beaucoup !!
sara - 25 août 2011 à 17:01
SVp j'ai le mm pb les caractéres spéciaux des données issues de la bd Mysql sont decodés et ça marche pas avec mysql_query("SET NAMES UTF8");
Ajouter un commentaire
Réponse
+1
moins plus
Merci beaucoup pour la solution, je cherche depuis des heures, mille mercis!!!
Hugo - 6 mai 2009 à 21:39
Comme les autres : thanks a lot!
Tu viens de résoudre ce problème qui me fatigue depuis plusieurs heures.
Ajouter un commentaire
Réponse
+1
moins plus
Francescu bravo tu m'as sorti d'une prise de tête qui m'a pris 2h!!!! ^^
Reponse claire nette et précise
PARFAIT!!
Ajouter un commentaire
Réponse
+0
moins plus
ha oui j'ai oublié, un truc troublant, c'est que dans l'interface de phpmyadmin, il n'y a aucun probleme ...
Ajouter un commentaire
Réponse
+0
moins plus
thanks thanks thanks de Canada
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

J'ai exactement le même problème mais je ne comprends pas la solution.

merci
sophie
Ajouter un commentaire
Réponse
+0
moins plus
bonjour
il n'est pas obligatoire d'être inscrit ...
mais savoir à qui l'on répond sur le forum est toujours plus agréable pour les gens qui veulent aider !
alors ...inscrivez-vous
merci
b g
Ajouter un commentaire
Réponse
+0
moins plus
Je vais m'inscrire et reviens vous voir

sophie
Ajouter un commentaire
Réponse
+0
moins plus
Merci ça m'a bien été utile !
Ajouter un commentaire
Réponse
+0
moins plus
Super, ca marche!
Merci beaucoup :-)
Ajouter un commentaire
Réponse
+0
moins plus
Merci mon frère, ça marche

Ajouter un commentaire
Réponse
+0
moins plus
Merci pour ce forum, elle m'a aussi beaucoup aider!
Ajouter un commentaire
Réponse
+0
moins plus
Je voulais dire Merci. Parce que j'ai un bug encore plus con que ca, et vous l'avez résolu comme si de rien n'était!

Dans mon cas, un php lancé depuis un fichier html encodé utf-8 avec un form en post met des valeur correct dans ma db (C'est a dire en utf-8:unicode, avec les accents)

le meme code lancé depuis un script php qui fait la meme chose, ecris a la meme place et est encrypté de la meme facon, ne fonctionnAIT pas, il écrivait des é au lieu de é. Tout ca parce que je ne disait pas a SQL de travailler en utf-8

Anyway, merci merci merci!
Ajouter un commentaire
Réponse
+0
moins plus
MERCI FRANCHEMENT T'ES UN AS
Ajouter un commentaire
Réponse
+0
moins plus
Tout à fait d'accord, je viens juste de tomber sur cette solution qui m'a permis de corriger mon problème de caractères accentués, hormis que mon souci était de rester en latin1. Donc merci !
Ajouter un commentaire
Réponse
+0
moins plus
Merciiiii
Ajouter un commentaire
Ce document intitulé « [utf8] probleme accent mysql » 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 ?
[utf8] probleme accent mysql - page 2