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
en 0 cela fonctionne, voici la fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part UTFStream.Position = 3 'skip BOM
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?
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
Merci de votre aide.
Merci de votre aide.
Partager