Bonjour tout le monde.
J'utilise le superbe calendrier du tuto PHP, mais j'ai les horribles caractères à la place de mes accents.
Alors oui, cette erreur est bien connue, et j'ai vraiment cherché. Je n'ai trouvé que des conseils type :
Ajouter ceci : <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Convertir tous les fichiers en UTF8 sans BOM
etc
La ligne charset=UTF-8 est déjà présente dans le fichier, et j'ai converti config.php ; date.php et index.php en UTF8 sans BOM avec Notepad++.
Et pourtant ! Toujours ces caractères qui n'ont pas l'air de vouloir bouger.
Que faire ? Je m'en remet à vous, merci d'avance.
Px.
En fait, j'ai mis AddDefaultCharset UTF-8 dans mon .htaccess et ça marche !
Merci tout de même pour votre aide. :)
En premier lieu cette erreur te vient qu'en tu sort tes donnée de mysql ou dans tu texte quelconque ?
Sinon vérifie l'encodage de ta page !
Ça le fait sur n'importe quel texte. (ex : Février au lieu de Février)
La page est bien encodée en "UTF8 sans BOM", je ne comprends pas...
J'ai déjà essayé, il me retourne une erreur comme quoi header est déjà défini :
Warning: Cannot modify header information - headers already sent by (output started at /chemin/vers/le/fichier/index.php:7) in chemin/vers/le/fichier/index.php on line 30
Et c'est à la ligne 30 que j'ai mis ton header('Content-type: text/html; charset=utf-8'); (juste sous le <?php, et il n'y a rien d'autre sur la ligne)
Et pourquoi me dit-il index.php :7?
quand tu as créer ta BDD tu as bien choisie utf8_general_ci? j'avais ce problème j'ai refais ma BDD comme sa et sa as fonctionner ou des fois ces tous bête c'est ton navigateur dans encodage des caractères il est sur ISO au lieu de UTF8
Heu, je ne sais pas, c'est mon hébergeur web qui me fournit la base. Où puis-je trouver cette info dans PHPMyAdmin ?
J'ai jamais fais heberger un site php mais si tu peux faire des requêtes SQL fais celle si pour voir en quelle Interclassement tu es
SHOW VARIABLES
après sa va charger une page et tu descend jusqu’à ce que tu vois la ligne character_set_database si sa valeur est latin1 sa veux dire que tu es en ISO et si ces le cas pour changer tu dois faire la requête
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci
après je sais pas si sa va fonctionner teste et dit moi
Alors j'ai regardé et j'ai bien latin1, donc j'ai envoyé
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci
Mais il me dit :
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci' at line 1
Qu'est-ce donc ?