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

C# Discussion :

Problème de conversion utf-8 en ISO


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de thelpi
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 217
    Par défaut Problème de conversion utf-8 en ISO
    salut,

    je travaille sur la conversion d'un programme VB en c#, celui-ci insérait des valeurs d'une base SQL server (en interclassement utf-8) vers une base MySQL (en interclassement "latin1_swedish_ci") via une Requète HTTP.

    Avant d'exécuter la requète HTTP, il appliquait le code suivant :
    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
    Public Function URLEncode(ByVal sRawURL As String) As String
     
        Dim iLoop As Integer
        Dim sRtn As String
        Dim sTmp As String
     
        Const sValidChars = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz:/.?=_-$(){}~"
     
        sRtn = ""
        For iLoop = 1 To Len(sRawURL)
            sTmp = Mid(sRawURL, iLoop, 1)
     
            If InStr(1, sValidChars, sTmp, vbBinaryCompare) = 0 Then
                sTmp = Hex(Asc(sTmp))
               If Len(sTmp) = 1 Then
                    sTmp = "0" & sTmp
                End If
                sTmp = "%" & sTmp
            End If
     
            sRtn = sRtn & sTmp
        Next iLoop
     
        URLEncode = sRtn
     
    End Function
    Dans ce code, je suis incapable d'écrire en c la ligne suivante : Quelqu'un aurait t-il la solution ou existe t'il un moyen plus simple d'effectuer cette conversion en c#?

    merci

  2. #2
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    HttpUtility.UrlEncode(), ce sera plus fiable et plus élégant que cette fonction immonde.

  3. #3
    Membre confirmé Avatar de thelpi
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 217
    Par défaut
    je ne trouve pas cette classe, pourtant j'ai été sur cette page :
    msdn

    mais impossible de trouver HttpService même en mettant using System.Web;

    pour info, je travaille sous le framework 3.5

    Et pourquoi cette fonction VB est immonde? elle a rendu 2 ans de bons et loyaux services... ^^

  4. #4
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    Tu dois manuellement ajouter une référence vers System.Web dans ton projet.

  5. #5
    Membre confirmé Avatar de thelpi
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 217
    Par défaut
    Hum ça marche, mais maintenant c'est le reste de ma fonction qui ne fonctionne plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private static HttpWebResponse GetResponse(string chSql)
            {
                HttpWebRequest requete = (HttpWebRequest)WebRequest.Create(HttpUtility.UrlEncode(chSql));
                HttpWebResponse response = (HttpWebResponse)requete.GetResponse();
    return response;
    }
    pour info : chsql = "http://xxxx.fr/?module=categories&action=add&name=Matériel optique&publish=True&parent=0"

    J'ai le message "URI non valide : Impossible de déterminer le format de l'URI." au moment de la création de la WebRequest.

  6. #6
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    C'est ça que tu veux faire en fait :

    string str = "http://xxxx.fr/?module=categories&action=add&name=" + HttpUtility.UrlEncode("Matériel optique") + "&publish=True&parent=0";

    non?

Discussions similaires

  1. Problème de conversion UTF 8 avec toUtf8()
    Par defrouille dans le forum Qt
    Réponses: 14
    Dernier message: 03/02/2011, 15h06
  2. Conversion UTF => ISO et caractères "exotiques"
    Par tomlev dans le forum Langage
    Réponses: 7
    Dernier message: 24/03/2009, 09h39
  3. problème de conversion UTF -> iso
    Par Empty_body dans le forum Général Java
    Réponses: 15
    Dernier message: 01/08/2008, 16h57
  4. Encodage : Conversion UTF-8 vers ISO-8859-?
    Par polo54 dans le forum Général Java
    Réponses: 6
    Dernier message: 26/06/2007, 19h10
  5. Conversion UTF => ISO
    Par komoku dans le forum Langage
    Réponses: 2
    Dernier message: 31/01/2007, 12h14

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