Bonjour à tous,

j'ai une fonction qui export des fichiers utf8 sans bom et qui est utilisée dans toute l'application. Problème pour générer un fichier csv en effet celui-ci ne me prend pas les caractères accentués ça me donne des choses comme à qui devient Ã. Le truc si je change
Code : Sélectionner tout - Visualiser dans une fenêtre à part
UTFStream.Position = 3 'skip BOM
en 0 cela fonctionne, voici la fonction.
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
 
Public Function WriteUTF8WithoutBOM(text As String, Optional chemin As String)
 
   Dim UTFStream As Object
    Set UTFStream = CreateObject("adodb.stream")
    UTFStream.Type = adTypeText
    UTFStream.Mode = adModeReadWrite
    UTFStream.Charset = "UTF-8"
    UTFStream.LineSeparator = adLF
    UTFStream.Open
    UTFStream.WriteText text, adWriteLine
 
    UTFStream.Position = 3 'skip BOM
 
    Dim BinaryStream As Object
    Set BinaryStream = CreateObject("adodb.stream")
    BinaryStream.Type = adTypeBinary
    BinaryStream.Mode = adModeReadWrite
    BinaryStream.Open
 
    'Strips BOM (first 3 bytes)
    UTFStream.CopyTo BinaryStream
 
    'UTFStream.SaveToFile "d:\adodb-stream1.txt", adSaveCreateOverWrite
    UTFStream.Flush
    UTFStream.Close
 
    BinaryStream.SaveToFile chemin, adSaveCreateOverWrite
    BinaryStream.Flush
    BinaryStream.Close
End Function
J'aimerais remédier à ce problème, j'ai vérifié dans ma chaîne en paramètre il ni a pas de caractère bom je pense que le problème vient de la mais si je laisse le position à 0 alors les bom seront accepté comment faire?

Merci de votre aide.


Merci de votre aide.