IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Problème avec chaine de caractère


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Problème avec chaine de caractère
    Bonjour,

    J'ai récupè plusieur fichiers avec l'extension mhtm et j'aimerais récupérer certaines données redondantes dans ces fichiers mais voila le fichier n'apparait pas correctement. Par exemple les é sont remplacés par =E8. J'utilise pour ouvrir le fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set oFSO = New Scripting.FileSystemObject
    Set oFl = oFSO.GetFile("C:\monfichier.mhtm")
    Set oTxt = oFl.OpenAsTextStream(ForReading)
    Merci à ceux qui peuvent m'aider.

    MEROUAN

  2. #2
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Et dans le fichier original, si tu l'ouvres sous un éditeur de texte, les "é" apparraissent comment ?
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Sous notepad les é apparaissent =E8 aussi.
    C'est uniquement lorsque j'affiche le code source à partir de IE que les caractères apparaissent normalement.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    En fait j'ai une série de pages web enregistré au format mht au lieu de txt.
    Chaque fois que j'ouvre un des fichiers, le texte apparait avec ces problèmes de caractères (voir ci dessus). En allant voir d'autre forum, il semblerait que c'est un problème de conversion UTF8-ISO, n'y aurait il pas un convertisseur qui permet de modifier automatiquement les caractères dans une chaine?

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonsoir,

    Je suis un peu (beaucoup) gauche dans ce domaine.

    Je crains que tu ne puisses, avec VB6, éviter de travailler un peu ainsi :

    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
    19
    20
    Private Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As String, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long
    Private Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByVal lpMultiByteStr As String, ByVal cchMultiByte As Long, ByVal lpDefaultChar As Long, ByVal lpUsedDefaultChar As Long) As Long
     
    Public Function UTF8ToA(ByVal wText As String) As String
        Dim vNeeded As Long
        Dim vSize   As Long
        vSize = Len(wText)
        vNeeded = MultiByteToWideChar(CP_UTF8, 0, wText, vSize, 0, 0)
        UTF8ToA = String(vNeeded, 0)
        MultiByteToWideChar CP_UTF8, 0, wText, vSize, StrPtr(UTF8ToA), vNeeded
    End Function
     
     
    Private Sub Command1_Click()
        a1 = "génération..."
        a2 = UTF8ToA(Replace(a1, "Ã", "é"))
        a2 = UTF8ToA(Replace(a2, "©", ""))
        ' et ainsi de suite... pour chaque caractère "particulier"....
        MsgBox a2
    End Sub
    Rien d'autre à t'offrir personnellement comme suggestion, hélàs ...

Discussions similaires

  1. Problème avec chaine de caractère
    Par framus.class dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 19/01/2011, 11h50
  2. Problème de chaine de caractère avec "wscript.Run"
    Par vonemya dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 11/07/2008, 14h31
  3. Problème avec chaine de caractères
    Par Nicegame dans le forum C
    Réponses: 7
    Dernier message: 27/04/2007, 18h35
  4. [FLASH 8] Problème de chaine de caractère
    Par dom_dev dans le forum Flash
    Réponses: 7
    Dernier message: 02/03/2006, 17h42
  5. Requete avec chaine de caractère commence par
    Par jazzes_dean dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/08/2004, 13h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo