Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/09/2011, 11h56   #1
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
Par défaut Probleme affichage chaine de caractères

Salut à tous,

J'ai un problème dans l'affichage de mes chaines de caractères lorsque je veux les afficher dans ma page php. En fait, ces chaines de caractères sont contenues dans une colonne de ma table MySql. Lorsque je ramène mon résultat, les espaces sont affichés sous la forme de petits carrés.

J'ai testé ensuite la fonction utf8_decode($docname) et là les espaces s'affichent sous forme de ?.

Dans ma parties html de ma page php, j'ai pourtant bien déclaré :
Code :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Dans ma base de données, la colonne des noms est en interclassement : latin1_swedish_ci

Avez vous une idée de comment résoudre ce problème d'affichage ?
Merci.
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 12h06   #2
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Bonjour,

pourquoi mettre le charset à utf8 ?

tu as essayé avec iso-8859-15 par exemple ?
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 12h58   #3
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
Salut Syl2095,

oui j'ai essayé le iso-8859-15, les espaces s'affichent sous la forme d'un ï suivant d'un point d'interrogation à l'envers.
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 13h08   #4
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 568
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 568
Points : 2 493
Points : 2 493
Bonjour,

Quel encoding est utilisé pour la base de données ?

Tu peux aussi lire cet article : Passez à l'UTF-8 sans manquer une étape
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 13h16   #5
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
Bonjour Nesmontou,

l'encoding utilisé pour ma base de données est le : latin1
Code :
(DEFAULT_CHARACTER_SET_NAME ) et latin1_swedish_ci en DEFAULT_COLLATION_NAME
est ce que tu penses que le problème vient de là ?
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 13h55   #6
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 568
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 568
Points : 2 493
Points : 2 493
Ça ne serait pas de l'ISO-8859-1 ?

Tu as essayé en passant le header ?
Code :
header('content-type: text/html; charset=iso-8859-1');
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 13h59   #7
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
ton fichier est encodé en quel charset ?
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 14h18   #8
Membre éclairé
 
Inscription : juillet 2003
Messages : 338
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 338
Points : 339
Points : 339
utf8_encode() et utf8_decode() devraient êtres tes amis!
tatareau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 14h30   #9
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 112
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 112
Points : 27
Points : 27
Le contenu que tu rédcupère de ta base de données a été saisie comment ?

Parce que j'ai déja rencontré un problème similaire avec des espaces "bizars" et "oeuf". Le texte avait été inséré par copier coller de word à phpmyadmin...

J'ai du éditer les enregistrement concernés à la main....
rollergirl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 14h39   #10
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
Citation:
utf8_encode() et utf8_decode() devraient êtres tes amis!
J'ai essayé cette solution sans succès. Ca me retourne des caractères bizarres.

Par contre, la remarque de rollergirl m'a mis la puce à l'oreille. Il me semble que le dump .sql que j'ai chargé dans ma base de données était en encodage ANSI. C'est peut être la raison de ces caractères bizarres. Je vais essayer de refaire un import du .sql avec le bon encodage.

Je vous tiens au courant.
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 16h02   #11
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
j'ai essayé de refaire l'import de mon dump dans ma base de données en choisissant le bon encodage de bon fichier .sql dans notepad++, j'ai toujours les espaces entre les chaînes de caractères qui s'affichent sous la forme de ?.

Ca me rends fou ce truc.
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 16h06   #12
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
montre ce que ça te renvoie
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 16h16   #13
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
Citation:
montre ce que ça te renvoie
le .sql ? ou en sorti de la page php ?

En sorti de la page php, ça me donne :

Textes?reglementaires?et?recommandations

dans le .sql :

TextesxA0reglementairesxA0etxA0recommandations
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 16h19   #14
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 112
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 112
Points : 27
Points : 27
Essaye sinon d'éditer à la main un des enregistrement qui posent problème (changer dans phpmyadmin les espaces et regarder si ce sont bien des espaces, pas d'autres choses)

Si tu vois bien ce que tu as édité c'est que tu as un soucis avec le fichier entrant ou la moulinette qui l'importe.

Si sa ne change rien, le problème est PHP et du coup retours aux solutions, utf8_encode et decode()
rollergirl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 16h21   #15
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
salut rollergirl,

j'ai essayé de faire comme tu m'as dit, c'est à dire d'éditer à la main un des enregistrements qui pose problème en modifiant à la main le ? en espace. Ca me le prends en compte et dans mon php il m'affiche bien la chaine de caractères avec les espaces après cette modification.

Donc du coup, c'est qu'il y a un problème avec l'encodage de mon dump, grrrr.
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 16h25   #16
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
deja ton .sql n'est pas bon, ensuite tu fais quoi comme traitement ? (montre ton code)
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 19h51   #17
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
Hello,

Je suis finallement arrivé à résoudre mon problème. Premièrement, comme l'as dis stealth35 mon .sql n'était pas bon au niveau de l'encodage. Je l'ai donc nettoyer. Ensuite, lors de l'import du .sql dans ma bdd, je n'avais pas mis en interclassement utf8_general_ci.

Marche bien mieux depuis.
Merci à tous pour l'aide.
A+
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h10.


 
 
 
 
Partenaires

Hébergement Web