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.NET Discussion :

Remplacement caractères spéciaux


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Remplacement caractères spéciaux
    Bonjour à tous,

    Avant toutes choses, sachez que j'ai fouillé les forums et FAQ avant de poster ce sujet ...

    Je souhaite modifier les valeurs saisies par l'utilisateurs dans des champs de DetailView : je voudrais remplacer les "é" et autres carac. spéciaux par "&eacute", etc.

    J'ai utilisé la méthode suivante (voir code) mais elle semble ne marcher que pour les " et les &. Existe-t-il une méthode permettant de traiter tous les caractères spéciaux ?

    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
    21
    22
    23
    24
    25
     
    Protected Sub BnConfirmerChgts_Click(ByVal sender As Object, ByVal e As System.EventArgs)
     
            Dim TextBoxEditBref As TextBox
            Dim TextBoxEditCorps As TextBox
     
            Dim ABref As String
            Dim ACorps As String
     
            Dim NBref As String
            Dim NCorps As String
     
            TextBoxEditBref = DetailsView1.FindControl("TextBoxEditBref")
            ABref = TextBoxEditBref.Text
            NBref = HttpUtility.HtmlEncode(ABref)
            TextBoxEditBref.Text = NBref
     
     
            TextBoxEditCorps = DetailsView1.FindControl("TextBoxEditCorps")
            ACorps = TextBoxEditCorps.Text
            NCorps = HttpUtility.HtmlEncode(ACorps)
            TextBoxEditCorps.Text = NCorps
     
     
        End Sub
    Merci à tous,
    Thierry

  2. #2
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Créé ta propre fonction... avec replace

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Fonction Replace et événement associé
    Voici le code que j'ai créé. Il n'y a pas d'erreur signalées lors de l'exécution, mais rien de se passe...

    Je ne sais pas si je dois l'appliquer à l'événement OnClick du bouton, ou à un autre événement du bouton, ou à un événement du DetailView ou de la page contenant les champs...

    Il faut évidemment que ce script s'exécute entre le clic du bouton et l'affichage final du DetailView et de la page. Mais que choisir ?

    Avez-vous des pistes ?
    Voici le code...

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    Protected Sub DetailsView1_DataBinding(ByVal sender As Object, ByVal e As System.EventArgs)
     
            ' Déclarations TextBox et Variables
            Dim TextBoxEditBref As TextBox
            Dim TextBoxEditCorps As TextBox
     
            Dim ABref As String
            Dim ACorps As String
     
            Dim NBref As String
            Dim NCorps As String
     
     
            ' Résumé : chaîne de fonctions Replace
     
            TextBoxEditBref = DetailsView1.FindControl("TextBoxEditBref")
            ABref = TextBoxEditBref.Text
     
            NBref = Replace(ABref, "é", "é")
            NBref = Replace(ABref, "è", "è")
            NBref = Replace(ABref, "ê", "ê")
            NBref = Replace(ABref, "ë", "ë")
     
            NBref = Replace(ABref, "à", "à")
            NBref = Replace(ABref, "â", "â")
     
     
            NBref = Replace(ABref, "ù", "ù")
            NBref = Replace(ABref, "û", "û")
            NBref = Replace(ABref, "ü", "ü")
     
            NBref = Replace(ABref, "ô", "ô")
            NBref = Replace(ABref, "ö", "ö")
     
            NBref = Replace(ABref, "ï", "ï")
            NBref = Replace(ABref, "î", "î")
     
            TextBoxEditBref.Text = NBref
     
            ' Description complète : chaîne de fonctions Replace            
     
            TextBoxEditCorps = DetailsView1.FindControl("TextBoxEditCorps")
            ACorps = TextBoxEditCorps.Text
     
            NCorps = Replace(ACorps, "é", "é")
            NCorps = Replace(ACorps, "è", "è")
            NCorps = Replace(ACorps, "ê", "ê")
            NCorps = Replace(ACorps, "ë", "ë")
     
            NCorps = Replace(ACorps, "à", "à")
            NCorps = Replace(ACorps, "â", "â")
     
            NCorps = Replace(ACorps, "ù", "ù")
            NCorps = Replace(ACorps, "û", "û")
            NCorps = Replace(ACorps, "ü", "ü")
     
            NCorps = Replace(ACorps, "ô", "ô")
            NCorps = Replace(ACorps, "ö", "ö")
     
            NCorps = Replace(ACorps, "ï", "ï")
            NCorps = Replace(ACorps, "î", "î")
     
            TextBoxEditCorps.Text = NCorps
     
        End Sub
    Merci d'avance pour vos conseils.

  4. #4
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Ton code a l'air correcte, fait un débogage pas à pas avec des espions pour vérifier la valeur de tes variables... et tu es cencé récupérer le résultat dans tes deux textbox ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Les caractères accentués disparaissent des textbox lors de l'update du DetailView... Alors que ceux que j'entre en dur dans la BDD sont affichés correctement. Les accents se perdent entre la saisie et la BDD donc !

    Une fois les caractères accentués recodés en format HTML "é" par exemple, ils doivent s'afficher dans les même textboxes correctement. Est-ce que l'événement auquel je lie la fonction est correct à ton avis ?

    Sinon, peut-être faut-il changer des paramètres concernant l'environnement ? Pour que le langage accepte les caractères accentués ? Est-ce possible ? A ce sujet, je laisse un lien vers une question que j'ai posée, et qui est liée à celle-ci http://www.developpez.net/forums/sho...d.php?t=426031.

  6. #6
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    NCorps = Replace(ACorps, "é", "é")
    NCorps = Replace(ACorps, "è", "è")
    Euh... Tu remplaces à chaque fois le contenu de ta variable là... Soit tu fais NCorps=Replace(NCorps) soit c'est pas bon

Discussions similaires

  1. Remplacer caractères spéciaux dans une chaine
    Par Peyothe dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/08/2009, 13h32
  2. Remplacer caractères spéciaux insertion mysql
    Par maxeur dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 19/05/2009, 09h57
  3. [Regex] Remplacer caractéres spéciaux par leurs correspondants "normaux"
    Par dragonfly dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/09/2008, 10h15
  4. Remplacer caractère spéciaux
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 10/04/2008, 09h09
  5. rechercher/remplacer caractères spéciaux
    Par MarLoZ dans le forum Word
    Réponses: 3
    Dernier message: 14/11/2007, 11h42

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