Problème avec caractères spéciaux dans STRING
Bonjour,
Je dois travailler sur des fichiers texte issus de vieilles applis DOS où toutes les voyelles avec accents sont remplacés par des caractères de "substitution". Après lecture de ces fichiers par un streamreader, les lignes qui les constituent sont classée dans des string sur lesquelles mon appli travaille.
Lorsque je regarde avec un espion ces string, tous les caractères avec accent sont remplacés par �.
Quand je travaille sur les mots contenus dans ces string, les caractères � s'ils sont dans un mot (du type "gère" qui est traduit en "gŠre" dans le fichier texte et affiché "g�re" par l'espion) ne posent pas de problème.
Par contre quand je travaille sur un caractère isolé � (du type "à" qui est traduit en "…" dans le fichier texte et affiché "�" par l'espion), le code suivant ne marche pas.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Private Function SeparerTexte(ByVal Texte As String) As ArrayList
' Sépare le texte en un Arraylist d'éléments simples à comparer
Dim Tableau As New ArrayList
While Texte.Length > 0
' Décomposition du texte, le caractère " " sert de séparateur (on cherche aussi à élimiber "§" qui sert d'indicateur de retour à la ligne)
While Texte.StartsWith(" ")
Tableau.Add(" ")
Texte = Texte.Substring(1)
End While
If Texte.Length > 0 Then
Tableau.Add("")
While Texte.Length > 0 AndAlso Not Texte.StartsWith(" ")
If Texte.StartsWith("§") Then
Tableau.Add("")
Else
Tableau(Tableau.Count - 1) &= Texte.Substring(0, 1)
End If
Texte = Texte.Substring(1)
End While
End If
End While
Return Tableau
End Function |
(Le but de ce code est de créer un arraylist avec les mots/caractères uniques séparés par des espaces en conservant les espaces comme éléments de Tableau).
Est-ce que quelqu'un à déjà eu ce genre de problème?