realbasic-nug.fr
[Top] [All Lists]

Re: Encoding

To: REALbasic NUG French <realbasic-nug dot fr at lists dot realsoftware dot com>
Subject: Re: Encoding
From: Antoine Crêtaux <antoine at cretaux dot fr>
Date: Fri, 15 Feb 2008 14:48:46 +0100
Delivered-to: listarchive at realsoftware dot com
Delivered-to: realbasic-nug dot fr at lists dot realsoftware dot com
References: <20080211153238 dot 29C2F2561E at relay-ev dot club-internet dot fr> <42D73D6C-7C9F-4B70-9DA6-6C8CDB5D82F9 at adx-online dot com> <A2B37990-989C-4DFC-9A60-FB348E7EBEF6 at cretaux dot fr> <DB6C1913-8B34-487A-89B0-3F109E1F6984 at wanadoo dot fr> <D8D501C5-424E-44D3-BB18-313C56DBD10C at orange dot fr> <9584C774-220D-4239-A463-18F1CE43C2D6 at cretaux dot fr> <55B6D184-DB18-4045-842A-AEDE2CEC89E5 at orange dot fr> <44B1E19C-C93C-4028-8245-365B2248CE23 at cretaux dot fr> <972BCE3F-2D93-4D4E-B19B-070A4CC4312B at albireo dot biz> <4CBE25A9-C3B8-4D73-BEE1-73E5866E0D53 at orange dot fr>
Je vais essayer d'intervenir sur l'encoding au départ et essayé de le conserver pendant le traitement

Le 15 févr. 08 à 14:06, Jules Jacquot a écrit :


Le 15 02 2008 à 13:45, Michel LO a écrit :

Probablement parce que le shell applique un encoding qui est normalement celui par défaut du système sur lequel il tourne, alors que RB ouvre sans interprétation et applique l'encoding qu'on lui indique.

Michel Lo

Le 15 févr. 08 à 13:25, Antoine Crêtaux a écrit :

A priori j'ai réussi à contourner le problème. cela ne me plaît pas mais cela marche. En fait le contenu de MesDatas provenait en partie d'un autre fichier. Au début j'avais ouvert le fichier avec un textin classique et cela fonctionnait. Pour améliorer les perfs (plus de 6000 fichiers à ouvrir) je suis passé par un shell. c'est cela qui dérègle tout. Les datas provenant de cette lecture intégré dans un string avec d'autres datas modifiaient l'encoding.

C'est normal

une data avec un encodage connu (UTF8)+une Data avec un encodage inconnu donnent une chaîne inconnue

jules
En remettent une ouverture classique tout redevient normal. C'est bon mais je voudrais bien savoir pourquoi je ne peux pas passer par un shell....


Le 15 févr. 08 à 02:30, Jules Jacquot a écrit :

la ligne de code est correcte. Je l'utilise pour enregistrer les fichiers windows sous mac de cette manière

#If TargetWin32 then
  streamo.write s.convertencoding(encodings.systemdefault)
#Endif
#If TargetMacOS then
  streamo.write s.convertencoding(encodings.IsoLatin1)
#Endif

Il faut peut-être définir l'encodage avant de convertir

  s=defineencoding(s,encodings.UTF8)
  streamo.write s.convertencoding(encodings.systemdefault)

jules

Le 14 02 2008 à 20:43, Antoine Crêtaux a écrit :

De plus en plus mystérieux. Avec le code  pas de changement

textout.write st2.convertencoding(encodings.systemdefault)



de meme avec

textout.write mesDatas.convertencoding(encodings.systemdefault)

par contre avec

textout.write st1.convertencoding(encodings.systemdefault)

Le fichier est vide...Le mystere s'épaissit..



Le 14 févr. 08 à 19:19, Jules Jacquot a écrit :

essaie

textout.write st2.convertencoding(encodings.systemdefault)

jules
Le 14 02 2008 à 19:11, Jacques Chanliau a écrit :

A mon avis, le problème vient de la variable st2, résultat d'une addition de deux autres variables. Dans ce cas, j'ai constaté souvent que l'information de l'encoding était perdue, même si les deux variables (st1 et Mesdatas) ont le même encodage. Si cette dernière condition est bien remplie, et que cet encodage est bien de l'UTF8 l'écriture suivante devrait fonctionner: st2 = defineencodings(st1 + Mesdatas, Encodings.UTF8). ConvetEncoding nécessite de connaître l'encodage du texte que l'on veut convertir. Une autre solution, qui me semble moins élégante, est d'utiliser la classe "textconverter"

Jacques Chanliau

Le 11 févr. 2008 à 19:37, Antoine Crêtaux a écrit :

Ayant un probleme d'encoding lors de l'écriture d'un fichier j'essaie de forcer ce denier avec

st2 =st1+Mesdatas
textout = fichier.createTextFile
textout.write ConvertEncoding(st2,Encodings.UTF8)
//  textout.write ConvertEncoding(st2,Encodings.MacRoman)
textout.close

Selon le type d'encoding que je choisi j'obtiens soit avec UTF8 la même chose que d'habitude soit avec MacRoman rien mon fichier est vide...
J'ai pourtant l'impression de bien m'y prendre?
Mon string est correct dans le débuggeur par contre sur le disque ;

"encore bénéficier"


Le 11 févr. 08 à 17:21, Eric Pousse a écrit :

Bon, he bien ça crash donc retour à la 2007r5...

Eric POUSSE
http://www.realcadd.com/












C'est par le bien-faire que se crée le bien-être

proverbe chinois







Il faut deux ans pour apprendre à parler et toute une vie pour apprendre à se taire.

Proverbe chinois







Où passeras-tu l'Eternité ?







<Prev in Thread] Current Thread [Next in Thread>