[utf8] probleme accent mysql

Résolu
crazyiop -  
 dara -
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
A voir également:

40 réponses

  • 1
  • 2
Résumé de la discussion

Le problème central est l'affichage incorrect des caractères accentués sur une page PHP malgré une base MySQL en UTF-8, avec utf8_general_ci et un champ tinytext. Plusieurs réponses préconisent de synchroniser l'encodage entre la base, la connexion et la page en utilisant la balise meta appropriée et SET NAMES UTF8, tout en vérifiant l'interclassement utf8_general_ci des bases, tables et colonnes. En pratique, certaines contributions signalent aussi des données ré-encodées ou un décalage entre client et serveur, recommandant l'utilisation de PDO ou mysqli avec exec('SET NAMES utf8') pour assurer la cohérence.

Généré automatiquement par IA
sur la base des meilleures réponses
ayben
 
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
56
yakamika
 
Merci !
0
leomaf
 
Merci,
en appliquant <charset="ISO-8859-1> au niveau du HTML et utf8_general_ci dans le champs MySQL, ça fonctionne bien merci encore.
0
  • 1
  • 2