Page 1 sur 1
question d'encodage ...
Posté : 17 nov. 2008, 13:40
par gary
Salut a tous, je fais un INSERT de textes dans ma base pour ensuite les afficher sur une page, le truc c'est que y'a certain caracteres qui s'affichent mal comme é donc je change dans le charset iso-8859-1 par UTF-8 et ca fonctionne mais du coup avec UTF-8 meme probleme pour d'autres caractères comme � .. Comment adapter pour tous ... Merci de votre aide
Posté : 17 nov. 2008, 14:00
par AB
C'est que tu as un problème car à un moment donné les deux charset doivent se mélanger.
Il faut être homogène tout au long du code et envoyer des entêtes utf8 en php ainsi qu'une requête pour indiquer à mysql de travailler en utf8.
Par ailleurs il faut faire attention d'enregistrer ton fichier au format unicode(UTF-8) avec ton éditeur.
Un tuto simple où tout le code (html php mysql) est en utf8
http://www.phpfrance.com/forums/voir_sujet-242539.php
Un lien parlant spécifiquement du sujet
http://electron-libre.fassnet.net/utf8.php
question d'encodage ...
Posté : 17 nov. 2008, 18:56
par gary
Merci pour ta réponse, j'ai bien fait attention a ne pas mélanger les deux charset, ce que j'ai fai c'est que j'ai mis charset UTF-8 sur la page ou je fais l'insert , dans ma table j'ai mis utf8 en character set et j'ai mis charset UTF-8 sur la page ou j'affiche, les caracteres comme é ne s'affichent plus mais les autres � oui, je comprend plus rien ...
Posté : 17 nov. 2008, 19:26
par Hywan
Hey

,
Comment est-ce que tu déclares ton
charset au juste ?
question d'encodage ...
Posté : 17 nov. 2008, 19:30
par gary
ben j'ai essayé avec
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
et aussi
header('Content-type: text/html; charset=UTF-8');
pareil
question d'encodage ...
Posté : 17 nov. 2008, 19:56
par gary
en fait je me suis tres mal exprimé je suis vraiment désolé ...
je fais plus simple :
je prend la page 1 qui a un charset=UTF-8 je fais INSERT du contenu dans ma table utf8 et j'affiche sur ma page charset=UTF-8, tou s'affiche bien
je fais exactement pareil avec mem table meme page d'affichage avec la page 2 qui elle a un charset=iso-8859-1, c'est normal que ca s'affiche mal
Comment bien afficher tous les caracteres quelque soit le charset d'origine... voila Merci encore
Posté : 17 nov. 2008, 21:11
par Hywan
Franchement, pourquoi s'embêter avec un autre
charset alors que tu utilises déjà unicode ? Reste en utf-8, ce sera plus simple

.
Posté : 17 nov. 2008, 21:13
par AB
Faut choisir, il ne faut pas en mélanger plusieurs. Fait ta page 2 en utf-8
EDIT Grilled by HyWan
question d'encodage ...
Posté : 18 nov. 2008, 01:18
par gary
oui mais pour indexer certains sites en utf-8 et d'autres en iso j'ai pas le choix ...
Re: question d'encodage ...
Posté : 18 nov. 2008, 02:36
par Hywan
je fais exactement pareil avec mem table meme page d'affichage avec la page 2 qui elle a un charset=iso-8859-1, c'est normal que ca s'affiche mal
Et en français ça donne ? Parce que là … … franchement, c'est loin d'être français.
Ce que je comprends c'est que tu as toujours ta base en unicode, mais que ta page est en latin1, donc c'est normal que ça s'affiche mal. À mon avis, le mieux est que tu encodes tes contenus en unicode au moment de l'insertion dans la base, comme ça, tu n'auras qu'à gérer un seul encodage (pour la base et les pages). Regardes du côté des
chaînes de caractères multi-octets de PHP. Le mieux est de tout encoder en unicode, et non pas l'inverse (de changer le
charset à chaque fois). Après, il faut voir si c'est une méthode adaptée à ton problème.
question d'encodage ...
Posté : 18 nov. 2008, 12:24
par gary
donc en gros pour résumer tous les contenus à inserer dans ma base utf8 doivent être converti en UTF-8 avant l'insertion (en utilisant pour cela les chaînes de caractères multi-octets de php)
OK merci a tous
Posté : 18 nov. 2008, 19:33
par Hywan
Tous les contenus non utf-8 (donc utf-16 est concerné) doivent être convertis en utf-8 oui.
Je préfère attendre l'avis d'un autre sur le sujet avant que tu te lances (sauf si tu y vois un inconvénient).
Posté : 18 nov. 2008, 21:53
par Invité
Oui exact tous les contenus non utf-8 ...
Ancun inconvénient au contraire, c'est gentil de ta part Merci