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)Et ce que j'essaie de faire :
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 SubEn relisant la documentation de Encodig.GetString(), je m'aperçois que ce n'est pas ce que je cherche.
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
Auriez-vous une solution à m'apporter?
Merci par avance.
Partager