Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
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 03/04/2007, 12h32   #1
Membre habitué
 
Inscription : avril 2005
Messages : 266
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 266
Points : 127
Points : 127
Par défaut [CSV] Eternel problème d'accents

J'ai regardé les differents posts sur les problemes de caracteres accentues avec php mais je ne trouve pas ma reponse , enfin ma solution.

j'ai une ligne toute bete :

Code :
1
2
3
4
5
6
7
8
9
10
echo " <tr>";
echo "  <td class=textNoir11 align=right>Civilité : </td>";
echo "	<td>&nbsp;";
echo "	 <select class=select class=select id=inputCivilite>";
echo " 	  <option selected value=Mr>Mr</option>";
echo " 	  <option value=Mme>Mme</option>";
echo " 	  <option value=Mlle>Mlle</option>";
echo "	 </select>";
echo "	</td>";
echo " </tr>";
Sauf que voila comment s'affiche le caractere accentue de "civilité" dans ma page : Civilit� en sachant que celle si n'est pas appelé directement mais via un script js ajax (mais ne pense pas que cela intervienne dans le soucis)

Ca doit etre tout con mais surment trop ou pas assez pour moi apparement ..^^

Merci a tous si quelqu'un a la solution.

J'ai mis ca dans ma page index.html :

Code :
<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
Mais ca affiche bien les caracteres accentués mais que de cette page le reste ne fonctionne pas ... snif
tchoukapi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2007, 12h46   #2
Membre du Club
 
Inscription : mars 2007
Messages : 63
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 63
Points : 49
Points : 49
Par défaut accent

Tu fera mieu de remplacer le é dans 'civilisé' pas son code html : &eacute; ce qui donnera "civilis&eacute;" .
Si le probléme n'est pas résolu alors c'est le navigateur qui ne va pas , j'ai deja rencontré ce genre de problémes , c'était le navigateur .

Résolu ?
helww est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2007, 13h11   #3
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
tchoukapi, vérifie l'encodage de ton fichier qui contient tes echo. Ton éditeur de texte te fournira l'info.
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2007, 13h27   #4
Membre du Club
 
Inscription : mars 2007
Messages : 63
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 63
Points : 49
Points : 49
Par défaut l'encodage

son encodage est :iso-8859-1 : europe de l'ouest

<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">

helww est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2007, 13h38   #5
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Je parle du fichier, pas du flux html...
Le script qui contient les echo...
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2007, 17h24   #6
Membre habitué
 
Inscription : avril 2005
Messages : 266
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 266
Points : 127
Points : 127
Merci pour tous ces conseils , j'ai testé la solution d'helww et effectivement ca fonctionne.

Cependant pour les conditions generales du site par ex. je charge un fichier texte externe dans un textearea et la "bing" tous les caracteres accentué et meme speciaux se transforme en caractere "space"

Egalement si la personne saisie son prenom ou autres avec des caracteres accentues je le retrouve en base avec des caractere de ouf!! ^^

galézé par exemple pour galézé.

N'y a t-il pas une conf dans ma base a gerer ou bien ?.

J'ai code mon truc sous ultraEdit mais je ne vois pas ou je peut trouve l'encodage de mon fichier ... je continue a chercher
tchoukapi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2007, 18h03   #7
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Arf, selon http://www.ultraedit.com/index.php?n...iewtopic&t=833 UltraEdit ne support pas la selection manuelle de l'encoding de ton fichier
Essaie avec un autre editeur
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2007, 18h11   #8
Membre habitué
 
Inscription : avril 2005
Messages : 266
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 266
Points : 127
Points : 127
Alors testons avec pspad.
Yesss pour les conditions generales j'ai passé en UTF-8 et c'est nickel car en (ISO 8859-2) ca na rien changé.
IMpec merci !

Par contre je vais essaye avec mes fichiers php ....

Et bien malheureusement mon dernier probleme et pas le moindre subsiste.
le prenom (par ex.) comportant un caractere accentué est enregistré tout d'abord en session ($_SESSION[clientPrenom]) puis ensuite mis en base
avec des caractere bizarres ... : galézé
tchoukapi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2007, 19h29   #9
Membre éclairé
 
Inscription : août 2006
Messages : 379
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : août 2006
Messages : 379
Points : 383
Points : 383
Tu fais un htmlentities() avant l'entrée dans la BDD ?
SpiritOfDoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2007, 23h41   #10
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Il ne faut pas faire de htmlentities avant de stocker qq chose en bdd

tchoukapi, il faut que toute la chaine soit dans le même encoding :
encoding bdd = encoding script/fichiers = encoding flux html/headers http
Comme ça tu es sur de n'avoir aucun soucis.
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2007, 23h58   #11
Membre éclairé
 
Inscription : août 2006
Messages : 379
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : août 2006
Messages : 379
Points : 383
Points : 383
Citation:
Envoyé par Mr N.
Il ne faut pas faire de htmlentities avant de stocker qq chose en bdd
J'étais pas au courant :o, je peux avoir la raison? ^_^
SpiritOfDoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 00h12   #12
Membre habitué
 
Inscription : avril 2005
Messages : 266
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 266
Points : 127
Points : 127
Non aucun htmlentities() !
mais d'ailleurs ca ne le fais pas seulement en base car quand je me balade la variable en session et que je l'exporte vers un pdf par exemple elle s'affiche avec les caracteres "Spaces"

Citation:
tchoukapi, il faut que toute la chaine soit dans le même encoding :
encoding bdd = encoding script/fichiers = encoding flux html/headers http
Comme ça tu es sur de n'avoir aucun soucis.
Tu veux dire que les fichiers php en UTF-8 par exemple de meme pour la base ?
tchoukapi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 10h22   #13
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Citation:
Envoyé par tchoukapi
mais d'ailleurs ca ne le fais pas seulement en base car quand je me balade la variable en session et que je l'exporte vers un pdf par exemple elle s'affiche avec les caracteres "Spaces"
Ca peut venir de la lib que tu utilises. Je sais que j'ai eu pas mal de problèmes avec les accents quand j'ai jouer avec pdf

Citation:
Envoyé par tchoukapi
Tu veux dire que les fichiers php en UTF-8 par exemple de meme pour la base ?
Oui, plus toute la chaine de traitement sera uniforme, moins tu auras de problèmes. Je ne dis pas qu'il faut passer forcément par UTF-8, mais juste d'avoir un environnement uniforme.
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 10h34   #14
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Citation:
Envoyé par SpiritOfDoc
J'étais pas au courant :o, je peux avoir la raison? ^_^
Tout simplement parce que dans la majorité des cas, on s'attend à trouver en base de données exactement ce qu'a tapé l'utilisateur. Pourquoi une base de donnée ne devrait-elle contenir que de l'html ? Si je veux exporter les donnés au format csv par exemple, je n'ai pas forcément envie d'avoir des données htmlentitisées...

Prenons un exemple plus flagrant : sur ce forum quand tu tape un message avec des smileys, tu tapes :^) ce qui va être remplacer par <img src="" />. Si le forum s'amuse à remplacer les smileys avant de stocker en bdd, si j'édite le message par la suite, je vais me retrouver avec un <img /> à la place de mon :^) ... Il faut garder au maximum la chaine tapé par l'utilisateur intacte.

De plus les entités html prennent de la place &eacute; contre é dans un texte en français ça fait de l'économie de bande passante. Editer un texte manuellement htmlentitiesé, s'est assez indigeste alors qu'un texte naturel...
Bref. htmlentities ne me sers qu'à une chose : échapper les caractères spéciaux quand je veut mettre du texte dans les attributs des éléments html...
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 10h37   #15
Membre éclairé
 
Inscription : août 2006
Messages : 379
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : août 2006
Messages : 379
Points : 383
Points : 383
Je pensais bien que c'était plus couteux ^_^.

Par contre, je n'avais jamais penser à la possibilité d'exporter le contenu sous une autre forme ...

Merci ^_^.
SpiritOfDoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 11h06   #16
Membre habitué
 
Inscription : avril 2005
Messages : 266
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 266
Points : 127
Points : 127
Citation:
Envoyé par Mr N.
Ca peut venir de la lib que tu utilises. Je sais que j'ai eu pas mal de problèmes avec les accents quand j'ai jouer avec pdf
En fait je stocke les donnees de mon formulaire en session histoire de pouvoir les retrouver n'importe quand meme si l'utilisateur navigue en meme temps sur le site .Et ensuite au moment de la validation du formulaire j'utilise la class "fpdf" qui apparement fait reference en matiere de generation de pdf avec php.

Cependant je ne pense pas que cela vienne de cette classe etant donnee que les donnes envoye au pdf sont egalement stockés en base et se trouve egalement impactées par ce changement de caracteres

Pour la librairie etant donnee que je n'heberge pas mon site. Je vais questionner l'hebergeur a ce sujet egalement peut pourra-t-il me donner une explication
tchoukapi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h08.


 
 
 
 
Partenaires

Hébergement Web