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

VBScript Discussion :

[VBS] - Caractéres Spéciaux et entités HTML


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 17
    Points
    17
    Par défaut [VBS] - Caractéres Spéciaux et entités HTML
    Bonjour tout le monde,

    ça faisant longtemps que je vous avais pas embêté.

    Alors cette fois mon problème vient des caractéres spéciaux j'ai inséré dans ma db (mysql) les caractéres accentués sous forme d'entité HTML (ex : € -> € grâce à la fonction php htmlentities(STRING, ENT_QUOTES, "UTF-8"))

    Maintenant mon problème c'est lorsque j'exporte mes données de ma base vers un fichier excel forcément je récupére les '€' au lieu '€'.

    Donc j'aimerai savoir si il existe une fonction vbscript qui permet de convertir les entités HTML en caractéres spéciaux.

    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Ce que tu as récupéré c'est du VB, je suppose que tu as essayé de le convertir en VBS, peut tu nous montrer ton code ?
    Ce serait plus simple pour t'aider.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    Merci cedric pour ta réponse,

    alors j'ai essayé plusieurs modifie mais rien n'y fais et puis malheureusement je ne m'y connais pas beaucoup non plus donc c'est encore moins évident.

    De plus toutes les déclarations du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim NametoNum As New Hashtable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim myregexp As New Regex("&[a-zA-Z0-9]{2,6}\;", RegexOptions.IgnoreCase)
    ne me parlait pas vraiment.

    Du coup, je m'en suis sorti en faisant comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ConvChaine = valeur_de_la_db
    ConvChaine = Replace(ConvChaine, "é", "é")
    ConvChaine = Replace(ConvChaine, "è", "è")
    ConvChaine = Replace(ConvChaine, "ç", "ç")
    ConvChaine = Replace(ConvChaine, "à", "à")
    ConvChaine = Replace(ConvChaine, "€", "€")
    ConvChaine = Replace(ConvChaine, "'", "'")
    ConvChaine = Replace(ConvChaine, "ê", "ê")
    Mais du coup ma solution ne prend pas en compte tous les caractères spéciaux :s. Je n'ai mis que ceux qui me paraisse les plus utilisés et qui peuvent me poser des problèmes.

    Je sais pas si c'est la meilleur solution mais au moins cela marche pour le moment, j'espére que ce n'est pas juste du provisoir qui durera lol comme c'est souvent le cas.

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    De plus toutes les déclarations du genre :

    Code :
    Dim NametoNum As New Hashtable

    Code :
    Dim myregexp As New Regex("&[a-zA-Z0-9]{2,6}\;", RegexOptions.IgnoreCase)


    ne me parlait pas vraiment.
    En vbs on utilise pas le New dans la déclaration, normalement, une déclaration de variable suivis de la création d'une instance d'un classe (un objet) se fait comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim Variable 'Note que le type de la variable n'a pas besoin d'être définit
                 'elle est alors de type variant
    Set Variable = New Objet
    'ou
    Set Variable = Fonction 'Si la fonction renvois un objet.
    Quand à Regexp, c'est une fonction qui permet de rechercher une chaines de caractères dans une string à l'aide des Regular expression.
    Utilises Replace n'est pas mal.
    Regarde ce liens, tu as toutes les entités existantes :
    http://www.la-grange.net/w3c/html4.0.../entities.html
    J'ai fait une recherche sur le net mais je n'ai pas trouvé de fonction VBS qui fait ça pour toi, je crois que tu es condamné à faire ta propre fonction avec plein de replace !!!
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    Merci cedric pour tes précisions sur la déclaration d'une instance..

    ...mais maintenant que tu me le dis je suis vraiment nul de pas l'avoir vu avant surtout que j'avais deja cherché pour créer une instance d'excel et que le new marchait pas...comme quoi parfois on ferait mieux de ne pas se lever mdrrr

    Merci pour le lien que tu m'as fourni il est trés intéréssant

    Sinon pour le moment comme je disais dans mon post précédent je vais laisser cela ainsi car je suis un peu short dans mon développement mais je pense que je creuserai cela quand j'aurai un peu plus de temps.
    car en fait je me rend compte que mon problème vient du fait que je n'avais pas saisi l'importance de l'encodage (ISO-8859-1, ISO-8859-15, UTF-8...) de mes pages web, de même pour ma base mysql et aussi le manque cruel de connaissance en vbscript du coup je suis obligé de faire le 'jack la bidouille' pour corriger les erreurs alors que tout aurait pu être sans doute plus propre si j'avais vu ce problème avant.

    Enfin c'est en faisant des erreurs qu'on apprend hihi mais malheureusement j'ai pas le temps de faire des erreurs en ce moment.

    Enfin merci pour les précisions et l'aide...par contre je sais pas si je peux mettre résolu au sujet car je pense pas qu'il soit réellement résolu en entier malgrés que cela marche ?

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Bah disons que si tu mets en résolu, les personnes qui ont le même problème iront d'abord voir ton poste avant les non résolus. Mais en même temps, plus personne ne viendra donner de réponse à ce post. Donc cela dépend de ce que tu veux faire, avoir de nouvelles réponses et remarques sur ce post ou non.
    Pour un nouveau problème tu peut toujours ouvrir un nouveau post.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    Et bien je vais le mettre en résolu car pour ma part mon problème est résolu pour le moment pas forcément le mieux du monde mais cela fonctionne pas mal pour ce que je fais.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction conversion des caractères spéciaux en entités HTML
    Par JustyDark dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/04/2015, 18h19
  2. caractères spéciaux et entités correspondantes  
    Par r0nsync dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 07/12/2007, 17h58
  3. Caractères spéciaux XML vers HTML
    Par monmon83 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/10/2007, 14h12
  4. Réponses: 1
    Dernier message: 26/09/2007, 19h38
  5. Traduction des caractères accentués en entités HTML
    Par philippef dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2006, 11h31

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