Salut à tous,

Je tourne en rond et ai, encore et toujours, du mal avec les conversions de chaînes. Curieusement, j'ai beau chercher, je ne trouve jamais rien d'utile.
Les données de la base sont retournées en UTF-8, je souhaite produire un fichier csv au format windows 1252. Comment faire?

Petit détail, ça reste du web, je ne veux donc pas créer un fichier sur le server, mais juste une chaîne avec les bonnes entête. La seule incidence est que j'utilise un StringBuilder plutôt qu'un writer. J'ai donc ceci (pour information)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Protected Sub cwGenerer_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cwGenerer.Click
  Dim FileName As String = "test.csv"
  Response.Clear()
  Response.Charset = "windows-1252"
  Response.ContentType = "text/csv"
  Response.AppendHeader("Content-Disposition", "attachment;filename=" + FileName)
  Response.Write(genererCSV(True))
  Response.End()
End Sub
Et ce que j'essaie de faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Private Function convertirVersWindows1252(ByVal ligne As String) As String
  Dim w1252 As Encoding = Encoding.GetEncoding(1252)
  Dim defaut As Encoding = Encoding.Default
  Dim defautBytes As Byte() = defaut.GetBytes(ligne)
  Return w1252.GetString(defautBytes)
End Function
En relisant la documentation de Encodig.GetString(), je m'aperçois que ce n'est pas ce que je cherche.

Auriez-vous une solution à m'apporter?

Merci par avance.