France Hardware : Forums de discussion - Découvrez notre nouveau comparateur d'offres Internet
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
29 519 membres enregistrés - 2 069 361 posts - 122 047 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           Architecture
                Charset mon amour (ou pas)
76 connectés(record : 2799 le 29 May 2016 - 15 h 34)

Vous devez vous connecter pour répondre au topic.
Charset mon amour (ou pas)

Woofy
Totalement inutile, complètement indispensable

Messages : 31 540
Inscrit le 11/01/02
Ville : Lyon
Non connecté
  Posté le 12 November 2009 - 12 h 35 m 30 s
Bonjour tout le monde.
J'ai un soucis, qui viens autant de l'interface chaise clavier (voir même surtout de là) que de mon serveur.
Pour résumer, j'ai un serveur apache tournant sous Debian, avec des sites web dessus (tout plein, dans des virtualhost et des namevirtualhost différents).
Et même si je comprend la différence entre le charset latin1, l'utf-8, ... je ne comprend strictement pas comment tout ceci est géré entre le navigateur, l'OS du serveur, apache, php, les fichiers, ...

Le problème actuellement qui se présente, c'est que j'upload un fichier CSV à importer en base de donnée via un formulaire web.
Dans ce CSV il y a des phrases avec des accents.
Lors de l'importation, il merdoie sur les lignes comportant des accents. En fait il stoppe l'importation de la ligne dès qu'il rencontre un caractère accentué.

De plus, sur certains sites, j'ai des problèmes d'affichage de certains caractères spéciaux (si je ne les écris pas sous une forme HTML, genre &eagrav; ).

Comment dois-je configurer tout ça pour ne plus avoir de problèmes ? Parcque là, je sèche.
Sur le serveur, si je suis loggé avec mon user, je peux taper à l'écran des caractères accentués sans soucis, ça passe.


Message édité 1 fois, la dernière par Woofy le 12 November 2009 - 12 h 36.


neoprog


Messages : 525
Inscrit le 15/05/02
Ville : Isere / Grenoble / Echirolles
Non connecté
  Posté le 04 December 2009 - 16 h 55 m 15 s
Hello

Je ne serais pas t’expliquer les mécanismes des charset en détails, mais voici quelques pistes :

- le chier de configuration d’apache :
DefaultLanguage fr
AddDefaultCharset ISO-8859-1

- les entêtes html (header) :
meta http-equiv="Content-type" content="text/html; charset=UTF-8"/>

- le fichier en lui-même
Il peut être encodé en utf ou en iso selon ton éditeur de fichier

Je te conseil notepad++ comme éditeur, il te permettra de voir l’encodage que tu utilise et de convertir ton charset.

Bon courage :)

PS : un petit lien : http://electron-libre.fassnet.net/utf8.php



Topic de ventes
Suivez vos billets


Woofy
Totalement inutile, complètement indispensable

Messages : 31 540
Inscrit le 11/01/02
Ville : Lyon
Non connecté
  Posté le 04 December 2009 - 17 h 15 m 53 s
Pour les fichiers, j'utilise eclipse. Mais j'y jetterais un oeil.
Merci des tuyaux.




grabber
Coordinateur
MacBook Pro Powered

Messages : 9 506
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 28 December 2009 - 20 h 26 m 43 s
yop ;)

je te conseille te tout faire en utf8, TOUT !!!
ensuite, a chaque insertion, encoder tous les caracteres en entites html et tu n'auras plus jamais aucun souci :)

donc en clair pour ton import, faut encoder avant de mettre dans la base et pas importer "betement" avec les accents et autres merdouilles (cédilles, oe lié, ...)

quant a la question initiale sur le pourquoi du comment c'est tout simplement que chaque charset comporte un set de caracteres orientes "langue", donc pour nous tu y trouves les accents, ce que l'on ne trouve pas chez les anglais, chez les espagnols on va trouver les ponctuations a l'envers que l'on a pas chez nous, etc...
ca evite d'avoir a gerer trop de caracteres quand on bosse sur une langue unique. apres quand tu fais du multi langue comme je fais tres souvent, ton salut est dans l'utf-8 et l'encodage car tu as un jeu de caracteres hyper etendus. reste quand meme des exceptions genre quand tu fais du russe (koi-8 de memoire...) ou du chinois, de l'arabe, etc...

voila voila



:firefox: :ol:

Woofy
Totalement inutile, complètement indispensable

Messages : 31 540
Inscrit le 11/01/02
Ville : Lyon
Non connecté
  Posté le 29 December 2009 - 14 h 47 m 53 s
Ben je ne sais pas si le serveur gère bien l'utf8 ou pas, mais en tout cas ça m'emmerde profondément. Parcque tout est déjà fait, je ne vais pas me faire chier à tout réencoder.
Donc j'ai un soucis quoi :/




grabber
Coordinateur
MacBook Pro Powered

Messages : 9 506
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 29 December 2009 - 20 h 26 m 28 s
l'encodage est toujours bien géré, ca fait partie de la base.
par contre effectivement c'est chiant de tout reprendre mais derriere c'est tranquilite assuree



:firefox: :ol:

Woofy
Totalement inutile, complètement indispensable

Messages : 31 540
Inscrit le 11/01/02
Ville : Lyon
Non connecté
  Posté le 30 December 2009 - 14 h 25 m 38 s
Ouais mais non, pas faisable ! :D
J'aimerais surtout comprendre les interactions serveur physique / serveur web / client web.
Pour savoir comment faire tourner ce qui n'a pas été fait pas moi.




grabber
Coordinateur
MacBook Pro Powered

Messages : 9 506
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 03 January 2010 - 11 h 53 m 05 s
ben c'est pas complique :)
- serveur physique : en ssh point de probleme d'encodage :)
- serveur web : il est capable de gerer theoriquement tout encodage, ca se parametre dans apache pour le charset par defaut (chez moi c'est utf-8)
- pages web : dans chacune de tes pages tu dois specifier le charset de la page, cela permet notamment de bypasser le reglage d'apache par defaut ou de le confirmer. il n'est pas forcement utilise de le confirmer mais moi je le fais toujours pour etre clean de partout.
- pages web en affichage client : les browsers ont une detection auto du charset, d'ou l'utilite de forcer l'encodage sur chaque page comme je te le disais au dessus, cela evite les surprises.

quoi qu'il en soit la regle est toujours la meme, on n'utilise jamais de carcateres speciaux et on remplace toujours pas des entites html.

toi tu bosses sur pc, ca se voit vu la question ;) rien de péjoratif rassures toi, voila pourquoi je te dis cela : moi sur mac si je met un caractère accentue par exemple, je vais me retrouver avec un carre noir dans lequel on trouve un point d'interrogation et de fait je sais direct si j'ai oublie une entité quelque part. sur pc on ne voit pas cela en general du coup plein de mecs font leurs sites sans s'en préoccuper et quand les maceux ou les linuxiens arrivent dessus, voila la belle surprise ! site pas encode = site merdique = je dégage :)

l'encodage se gère donc à tous les niveaux, la rigueur est de mise mais c'est le prix de la tranquilité. quant aux entrées depuis le client web, cas d'un commentaire pour un blog par exemple, la méthode est simple : surtout ne pas enregistrer bêtement le flux, déjà l'échapper pour éviter les injections, puis ensuite le htmlentities-er !!! ainsi ton texte sera direct en entites et aucun probleme ulterieur de rendu.



:firefox: :ol:

Woofy
Totalement inutile, complètement indispensable

Messages : 31 540
Inscrit le 11/01/02
Ville : Lyon
Non connecté
  Posté le 04 January 2010 - 08 h 06 m 18 s
Ben justement, en ssh, si j'ai un fichier en utf-8, nano ou vi le gèrent très mal. Enfin par là j'entend que quand tu vas passer le curseur dessus, il va parfois sauter 1 octet car un caractère est sur 2 octets, du coup ça décale le tout. C'est rageant.
Le soucis, que je ne comprend pas, c'est que j'ai l'impression d'avoir plusieurs charset différents sur certaines pages. Et certains tels que l'UTF-8 sont mal gérés.
Moi foutre du latin par défaut ça me vas bien, vu qu'on a que du français et de l'anglais. UTF-8 c'est un peu lourd à force.
Si j'ai tout par défaut en latin, j'aimerais que tout le monde fasse pareil.
Bref, merci pour l'info, je m'y pencherais dessus.




Page genérée en 0.1461 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL | Actualité ADSL | Deligo | Appareil photo | Commande Au Volant
Creative Commons
Message Boards and Forums Directory