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

ASP.NET Discussion :

Encodage d'un fichier dans le httpResponse


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut Encodage d'un fichier dans le httpResponse
    Bonjour tout le monde,

    Mon appli renvoi à la demande du user un fichier csv avec un certain nombre de trucs dedans mais le problème n'est pas là, tout fonctionne très bien

    Le souci c'est que les accents, les apostrophes et tout ce genre de caractères spéciaux sont tout moche (genre "é" pour "é") pourtant je le mets bien en UTF8, il y a donc quelque chose qui m'échappe

    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
     
                Dim fileName As String = Server.MapPath(".\upload\LinesInError_" & Now.ToString("yyyyMMdd_HHmmss") & ".csv")
                Dim fi As FileInfo = New FileInfo(fileName)
                Dim sw As StreamWriter = fi.AppendText()
                Dim row As String = String.Empty
                Dim headers As String = String.Empty
                For Each entry As Generic.KeyValuePair(Of Integer, Generic.Dictionary(Of String, String)) In RowsInErrorList
                    For Each field As Generic.KeyValuePair(Of String, String) In entry.Value
                        headers &= field.Key & ";"
                        row &= field.Value & ";"
                    Next
                    If entry.Key = RowsInErrorList.Keys.First Then sw.WriteLine(headers)
                    sw.WriteLine(row)
                    row = String.Empty
                    sw.Flush()
                Next
                sw.Dispose()
                Response.HeaderEncoding = System.Text.Encoding.UTF8
                Response.AppendHeader("Content-Disposition", "attachment; filename=" & fileName)
                Response.TransmitFile(fileName)
                Response.End()
    Donc si quelqu'un pouvait me montrer la chose qui m'échappe

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    Petite précision, je viens de me rendre compte que les erreurs d'encodage n'apparaissent que si j'ouvre le csv avec Excel (2010), alors qu'avec Notepad++ aucun souci

    Le problème c'est que le double clic sur le fichier l'ouvre par défaut avec Excel et que tous mes clients ont Excel sur leur machine

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/09/2010, 15h17
  2. Réponses: 4
    Dernier message: 10/10/2003, 18h04
  3. [] [Réseau] Renommer des fichiers dans un site FTP
    Par JerBi dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 22/08/2003, 00h35
  4. [LG]Ecrire le contenu d'un fichier dans un autre
    Par lucke dans le forum Langage
    Réponses: 10
    Dernier message: 26/04/2003, 20h48
  5. Réponses: 4
    Dernier message: 24/04/2003, 22h28

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