Bonsoir à tous,
Je cherche à récupérer le texte de mon WebBrowser vers un RichEdit
en conservant l'encodage UTF-8, possible ?
Je ne parviens pas à afficher les "caractères spéciaux" qui
apparaissent en ? dans mon RichEdit.
Bonsoir à tous,
Je cherche à récupérer le texte de mon WebBrowser vers un RichEdit
en conservant l'encodage UTF-8, possible ?
Je ne parviens pas à afficher les "caractères spéciaux" qui
apparaissent en ? dans mon RichEdit.
Une belle fonction contient au plus 7 lignes de code,
Une belle procédure appelle au plus 7 fonctions,
Un beau programme est lisible et compréhensible,
Dans tous les autres cas, une optimisation s'impose.
Hum, le TWebBrowser, fourni InnerText, mais il me semble que j'ai eu aussi des problèmes, il remplace les caractères spéciaux par des ?
le RichEdit, ce n'est pas de l'UTF-8 c'est l'encodage en fonction de la font (ANSI au début, puis étendu en Wide pour les autres, et je ne suis pas sur que dépasser le 255 ce soit bien standard ...), donc si le char n'existe pas dans la font, tu as droit à un petit carré ... ou ? selon les cas ...
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Peut-être qu'il faudrait récupérer le code ASCII de chaque caractère (avec la fonction Ord) et utiliser un tableau de conversion pour les caractères spéciaux qui vont de #129 à #255 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Const HtmList : Array [129..255] Of String = ( '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', '<', '&Oelig;', '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', '(null)', '™', '(null)', '>', 'œ', '(null)', '(null)', 'Ÿ', ' ', '¡', '¢', '£', '¤', '¥', '¦', '§', '¨', '©', 'ª', '«', '¬', '*', '®', '&masr;', '°', '±', '²', '³', '´', 'µ', '¶', '·', '¸', '¹', 'º', '»', '¼', '½', '¾', '¿', 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', '&Aelig;', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '×', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', '÷', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ÿ');
De retour parmis vous après 10 ans!!
Bonsoir,
En fait je cherche à récupérer du texte d'un TWebBrowser mais je
ne suis pas fixé pour le TRichEdit, cela peut être un autre composant....
@ShaiLeTroll
Pour ce qui est de la font : il s'agit bien sur d'une font compatible UTF-8
donc possédant plus de 255 caractères... (charset sur default)
@sub0
Pour les "caracteres speciaux", je parlais des caracteres au dela de 255
ceux en deça sont ok.
1) Le problème vient donc :
-soit de la façon d'exporter vers le RichEdit par la commande innertext
- soit (et surtout) du RichEdit lui meme qui ne serait pas compatible UTF-8 ???
Une idée ?
2) Comment accéder à une ligne ou à un seul caractère (si possible en byte) d'un WebBrowser ?
Une belle fonction contient au plus 7 lignes de code,
Une belle procédure appelle au plus 7 fonctions,
Un beau programme est lisible et compréhensible,
Dans tous les autres cas, une optimisation s'impose.
Je viens de trouver une solution:
1) je récupère les infos du WebBrowser par InnerText dans un WideString
2) je modifie les caractères (qui m'intéressent, une trentaine) au dela de 255 en les basculant dans la zone des 200...
3) et j'utilise enfin une font classique (non UTF-8) où sont présents "les caractères spéciaux" en zone 200...
Une belle fonction contient au plus 7 lignes de code,
Une belle procédure appelle au plus 7 fonctions,
Un beau programme est lisible et compréhensible,
Dans tous les autres cas, une optimisation s'impose.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager