UFT-8 et MySQL [Résolu/Fermé]

Signaler
-
Messages postés
30
Date d'inscription
dimanche 9 mars 2008
Statut
Membre
Dernière intervention
20 mai 2010
-
Bonjour à tous,

Voilà j'ai un souci et ne suis pas experte. Alors je viens vers vous ;-)
J'ai un site dans lequel j'ai intégré un forum. Les deux utilisent la mm base de données.
Depuis que j'ai installé le forum, mon site montre des faiblesses au niveau accentuation :-(
Soupçonnant un pb d'UTF-8, je suis allée dans ma base et là, évidemment les tables du forum étaient en UTF-8 alors que celles du site sont en latin1_general_ci.
J'ai donc essayé en modifiant manuellement toutes les tables du forum qui avaient un interclassement en UTF-8, en les remplaçant par latin...
Malgré ça, mon pb d'affichage des accents est tjs là.
Je constate sur ma base les infos suivantes :

# Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
# Interclassement pour la connexion MySQL: latin1_general_ci.

Je suppose donc que les deux ne sont pas compatibles.

Comment puis-je faire dans MySQL pour modifier et passer le poste Jeu de caractères en latin1_general_ci. ?

Merci d'avance pour vos lumières.
@ +++

10 réponses

Messages postés
152
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
4 mai 2008
17
éssaye de mettre ça dans tes pages php :

header('Content-type: text/html; charset=UTF-8');

Je ne suis pas sure du résultat mais tu peux essayer.
Hello Sonico,

Merci pour cette réponse.
N'est-il pas possible plutôt de faire en sorte que ça soit le jeu de caractères de la base qui soit à modifier ?
Comme je le disais à Lewis, plus bas, je préfèrerais rester en ISO.
C'est possible tu crois ?
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
351
bonsoir je pense que c'est au niveau de l'insertion dans ta base
est ce que tu applique ca avant d'inserer tes données

$email = htmlspecialchars(addslashes($_POST["email"] ));
ou regarde du cote de htmlentities()

peute tre cela vient de la
Salut Lewis,

Excuses-moi mais je n'ai pas compris où tu veux en venir ?
Je ne suis pas très aguérie concernant ce sujet...
En plus, je préfèrerais, si c'est possible, rester en ISO.
Que me conseilles-tu ?
Merci à toi
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
351
ce soir faut que j'y aille je te poste une reponse complete demain matin

je veut dire que dans sql certain caractere sont "mal interpretés" donc on convertis les variables postes par l'utilisateur en langage "comprehnseblie et sans ambiguité " par sql.

c'est peut etre pas du a ca mais perso j'avais rencontré un pb ismilaire.

je t'oublie pas ;-)
bonne soirée
Merci tout plein ;-)
Bonne soirée
@ demain
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
351
bonjour ,tu veut vraiment rester en iso ?
un extrait de mes archives..
<ita>
UTF-8 : un codage tiré de Unicode (UTF signifie Unicode Transformation Format), où au lieu d'avoir un caractère encodé en 2 octets, il l'est de manière variable en UTF-8 (1, 2 voire 3 octets pour les caractères complexes), et permet une sérialisation plus efficace du texte. C'est le codage de base de XML, et donc le plus courant aujourd'hui.

ISO-8859-1 : également connue sous le nom de Latin-1, ce n'est que le premier de 15 codages (de ISO-8859-1 à ISO-8859-15), chacun englobant tout (ou, parfois, partie) des caractères utilisés dans une région ou une forme de langue : Europe de l'Ouest, du Nord, du Sud, et Centrale, Arabe, Grec, Hébreu, Celte, Thaï.
ISO-8859-1 est très diffusé mais pas idéal - il manque par exemple certaines lettres françaises. Il faut cependant compter avec lui car il s'agit du codage standard d'UNIX et de nombreux logiciels (dont certains navigateurs et logiciels de courrier), et Unicode en est une extension.
Les normes ISO-8859-xx ne sont pour autant pas complètes (notamment en ce qui concerne l'extrême-orient), et il est préférable de nos jours de se référer à Unicode ou UTF-8.
</ita>

si tu utilise phpmyadmin il y a l'option operations qui te permet de changer le jeu de caractere
tu affiche ta table puis operation/interclassement puis latin_1

si tu n'a pas ca tu peut le faire à la main
ALTER TABLE `ta_table_a_modidier` DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci

Ensuite dans tes pages il faut preciser que tu utilise ce jeu la :
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">

les commandes que je t'ai citées hiers ,htmlspecialchars(addslashes et htmlentities() sont en fait plus pour une question de sécurité,pour eviter que quelqu'un te "hack" ton site en balaçant du code dans le texte.
http://matrix.samizdat.net/serveurs/www/php/php_manual_fr/function.htmlspecialchars.html
http://matrix.samizdat.net/serveurs/www/php/php_manual_fr/function.htmlentities.html

si tout ca ne marche pas ,regarde du coté de ton php.ini (ou tu tape phpinfo.php) pour voir comment est configuré le mbstring.
regarde ici
http://www.01php.com/references/php/mbstring.configuration.html

en esperaant t'avoir eclairer un peu
@+
Coucou Lewis,

Merci pour toutes ces infos ;-)
En fait, avant d'insérer mon forum, le site fonctionnait très bien. Pas de pb de caractère. En plus, il s'agit d'un site réservé à une toute petite communauté, celle d'une association sportive. Le responsable souhaite un accès sécurisé via login+mdp.
Donc tu vois, pas vraiment d'intérêt pour le UTF-8 étant donné que ça va rester un site dit "privé".
Le fait d'insérer le forum, a changé la donne. Je ne sais pas pourquoi il s'est mis en UTF. J'ai peut être fait une fausse manoeuvre :-(.
Quoiqu'il en soit, je vais suivre tes conseils et tester tout ça !
Je te tiens informé de la suite.
Encore mille mercis pour ton aide ;-)
@ ++++
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
351
de rien ,
si tu a installé phpmyadmin par exemple le jeu de caractere par defaut est l'utf8.c'est peut etre pour ca
Mouiii j'ai phpMyAdmin mais je n'avais pas de pb avant le forum !
Bon alors, je viens de faire les modifs de mes tables et rien ne change.
J'ai tjs sur la page de récap de ma base : Jeu de caractères pour MySQL: UTF-8 Unicode (utf8) Mais je n'ai pas fait attention avant d'installer mon forum s'il me disait la même chose ou pas.
Mais apparemment, tu as l'air de me dire que c'est normal, puisque c'est phpMyAdmin.

Bon, le pb n'étant pas réglé et n'étant franchement pas douée pour tout ce qui touche à php, mysql et compagnie, je pense que j'irai plus vite en virant tout et en important ma base telle qu'elle était avant. Il n'y a rien pour le moment dans le forum hormis les sections et les catégories créées et un ou deux messages. Tu me diras que c'est déjà ça... lol mais bon !

Qu'en penses-tu ?
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
351
et dans phpmyadmin tu a trouvé l'option operations ?

je t'ai mit le screen sur mon site

http://milsodor.no-ip.org/tablephpmyadmin.jpg
Oui oui... j'ai trouvé ;-)
J'ai fait les modifs de toutes les tables de mon forum seulement puisque celles du site étaient ok.
Mais sans succès :-(
Bon ne t'embête pas va... je vais tout virer et recommencer. Ca me fera les pieds :-( ***na ka faire attention***)
Si jamais le pb persiste avec la nouvelle install... alors je jette tout par la fenêtre... :-))))
mais avant je viendrai te demander du secours ... lol
On fait comme ça ?
Je te tiens informé de la suite de toute façon !
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
351
oki tiens moi au courant
Voilà, j'ai récupéré le site tel qu'il était avant. Donc plus de pb d'accent.
Le récap de la base est bien :

# Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
# Interclassement pour la connexion MySQL: latin1...

Je verrai cet aprem pour la réinstall du forum car je dois partir maintenant.
A tout'
Coucou Lewis,

Alors juste un petit mot pour te dire que finalement, en désinstallant, puis réinstallant mon forum, je n'ai plus de soucis avec mes accents.
J'avais dû cocher la case UTF-8 lors de l'installation... machinalement :-(
Donc, voilou ... ça remarche !
Encore mille mercis à toi pour ton aide.
J'aurais appris quelques petites choses grâce à ça...
Bonne continuation à toi,
@u plaisir,
Bye
Jakols
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
351
De rien jakols ce fut un plaisir de contribuer modestement
par contre sans te commander pense à marquer résolu dans ton sujet
et si t'a besoin d'aide n'hesite pas il y aura toujours quelqu'un pour t'aider
bonne soirée à toi
@+
Oups... désolée ;-)
Euh... par contre, je vais avoir besoin de tes lumières encore une fois je crois !
Veux bien marquer résolu ... mais je vois pas où ? ***la cruche du dimanche est de sortie ;-)***
C'est dans le message initial normalement non ? Mais je ne vois pas où modifier le titre !!!
Tu peux me brieffer là-dessus je pense ou alors m'offrir une paire de loupiottes ;-)))
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
351
mdr ;-)
tu doit avoir au debut de ton sujet une case a choisir entre non resolu et resolu,mais je viens de voir que t'etait pas enregistré comme membre ,tu vois je fait pas la difference entre membre et pas pas membre,donc comme t'est pas enregistré tu l'a pas cette case t'inkiete je m'en occuppe
@+
Ah ça c'est gentil de ne pas faire de différence ;-)
Et cooloo aussi de régler ça pour moi...
Bah pour la peine, je vais aller m'enregistrer de ce pas... comme ça tu auras sûrement encore l'occasion de m'apporter tes lumières ;-)
Bye
Bonne soirée
@ +++
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
351
probleme resolu
Messages postés
30
Date d'inscription
dimanche 9 mars 2008
Statut
Membre
Dernière intervention
20 mai 2010

Merci ;-)
Bye
@ +