Ecrire caractere spéciaux dans textbox

Signaler
-
LaluneBe
Messages postés
7
Date d'inscription
vendredi 29 septembre 2017
Statut
Membre
Dernière intervention
11 octobre 2017
-
Bonjour,
Je développe un petit programme sous visual basic 6.0 et j'espere ecrire des caractère spéciaux dans un contrôle textbox comme par exemple ä ou ö etc... (Ecriture en Allemand) mais j'arrive pas à le faire, toujours il m'affiche"?" au lieu de mon caractère.

Pouvez vous m'aider s'il vous plait? Et merci d'avance.

3 réponses

Messages postés
14670
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
28 mars 2020
139
Mon intervention ne va pas beaucoup aider, mais l'internationalisation n'est pas le fort de VB6, il ne gère que les page des codes 1octet=1car.
Je te recommande de passer sur .NET qui lui est natif unicode.

Sinon, peut être voir en changeant la page de code active de ton système et/ou d'utiliser les runtimes Allemands de VB6.
Salut,
Tout dépend de l'encodage de la TextBox.
Généralement nous sommes en UNICODE (UTF-16)
Donc, il te faut prendre une police adéquate, comportant les caractère spéciaux désirés.

Utilise une police standard et vérifie cette police avec "Charmap.exe" pour ces caractères.

Dans le cas d'un copier/coller dans une textbox, tu dois rendre conforme la chaîne de caractère avant l'insertion en utilisant StrConv("abc", vbFromUnicode)

Pour convertir le codage de l'Unicode vers l'UTF8, utilise la fonction WinApi 'WideCharToMultiByte' avec le protocole CP_UTF8.

Attention, si tu voies des caractères bizarres à la place des accents "Â" ou "@"... Tu as sûrement oublié le header de fichier!
Au protocole UTF8, il faut 3 octets en début de fichier...
Donc, avant le texte tu dois ajouter:

Print #fHandle2, Chr(&HEF) & Chr(&HBB) & Chr(&HBF) & "ton texte"
Sinon, tu verras le texte en "Plain text", donc non encodé utf-8.
Messages postés
7
Date d'inscription
vendredi 29 septembre 2017
Statut
Membre
Dernière intervention
11 octobre 2017

Bonjour,
Pour moi, il vaut mieux d'utiliser Richtextbox au lieu de textbox