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

Re: TextEncoding sur Mac

To: REALbasic NUG French <realbasic-nug.fr@lists.realsoftware.com>
Subject: Re: TextEncoding sur Mac
From: Jacques Chanliau <jacques.chanliau@wanadoo.fr>
Date: Wed, 8 Jul 2009 10:14:32 +0200
Authentication-results: mx.google.com; spf=neutral (google.com: 74.124.194.228 is neither permitted nor denied by best guess record for domain of realbasic-nug.fr-bounces@lists.realsoftware.com) smtp.mail=realbasic-nug.fr-bounces@lists.realsoftware.com
Delivered-to: listarchive@realsoftware.com
In-reply-to: <p06240800c677a4cd3b8a@[62.161.36.122]>
References: <p06240800c677a4cd3b8a@[62.161.36.122]>
Reply-to: REALbasic NUG French <realbasic-nug.fr@lists.realsoftware.com>
Sender: realbasic-nug.fr-bounces@lists.realsoftware.com
J'ai eu ce genre de problème à deux occasions: quand l'encodage n'était pas vraiment reconnu, ou quand je mettais dans l'editfield un texte provenant de la concaténation de plusieurs autres textes de sources différentes.

Dans le premier cas, en admettant que le résultat de la lecture du fichier soit stockée dans une variable texte "Montexte", il suffit de forcer RB à interpréter ce texte en UTF8; EditField.Text = DefineEncoding(Montexte, Encodings.UTF8). Si ça ne marche pas, c'est que le texte n'est pas en UTF8.

Dans le deuxième cas, la solution est un peu plus complexe, mais habituellement le problème n'est pas insurmontable.

Cordialement,

Jacques Chanliau

Le 6 juil. 09 à 15:11, Jean-Luc Arnaud a écrit :



Bonjour,

Le contexte : Mac OS X 10.5.7, G4 bi-proc, RB 2009r1
Le projet : Gestion de pages HTML
Le problème : un fichier .html à priori en texte UTF8 (reconnu comme tel lors de son chargement en mémoire par RB) contient des accentuées, notamment é avec un code binaire hE9. Lu dans TextEdit, l'accent est correctement interprété. Ce fichier lu dans RB (et, je le répète, reconnu codé UTF8) donne un binaire correct dans une variable String. Là où ça se gate, c'est lorsque cette variable est attribuée à la propriété Text d'un EditField. D'après la doc RB, l'EditField maintient le texte en mémoire au format Unicode et l'affiche en UTF8, et cette conversion dénature le binaire : mon accent é est traduit par trois codes binaires hEF+hBF+hBD.

Impossible de trouver une solution pour conserver, dans l'EditField, un accent é traduit par le code binaire hE9. Or, c'est indispensable, car cet EditField sert ensuite à lancer une recherche (qui en l'état actuel des choses, échoue systématiquement).

J'ai tenté je ne sais combien de conversion, j'ai même tenté le remplacement binaire des trois codes cités plus haut (l'EditField remplace immédiatement mon hE9 par ses trois codes !!!). Bref, le suicide me semble l'ultime recours, à moins que ...

Au secours !!!

Jean-Luc






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