Ansi -> UTF-8

14/10/2007 - 22:22 von Günter Gerold | Report spam
Hallo NG,

schonwieder ein Problem,

eine Exportdatei.txt enthàlt Daten, die in ANSI codiert sind. Leider wird
UTF-8 benötigt.

Dim intf As Integer
intf = FreeFile
Open strFileName For Output As #intf
Print #intf, strAusgabeText
Close #intf

kann man das auch mit replace() konvertieren?
Günter Gerold
 

Lesen sie die antworten

#1 Klaus Oberdalhoff
14/10/2007 - 23:04 | Warnen spam
Hi,

Tante Google meinte in der
http://www.experts-exchange.com/Pro...73639.html
Usegroup dazu folgendes:

Comments:

1. The old visual basic file commands shouldn't be used. If I remember
correctly, Microsoft didn't even provide documentation for those command in
VB6. They want you to use FSO or ADODB

2. Unicode is a collection of character sets (e.g. UTF-16, UTF-8). Each
encoding will produce a different file (i.e. size and contents)

3. StrConv(strText, vbUnicode) produces UTF-16 (the default Windows Unicode
format) not UTF-8

4. Set objTextStream = objFSO.CreateTextFile(strFile, , True) outputs as
UTF-16 not UTF-8

There's only one way to do what your asking. Use a stream.

For example ...

Private Sub CreateFile(ByVal pstrFile As String, ByVal pstrData As String)

Dim objStream As Object

'Create the stream
Set objStream = CreateObject("ADODB.Stream")

'Initialize the stream
objStream.Open

'Reset the position and indicate the charactor encoding
objStream.Position = 0
objStream.Charset = "UTF-8"

'Write to the steam
objStream.WriteText pstrData

'Save the stream to a file
objStream.SaveToFile pstrFile

End Sub



mit freundlichen Grüßen aus Nürnberg

Klaus Oberdalhoff

Ich beantworte keine NG-Fragen und -Nachfragen per Mail!
Newbie-Info: http://www.doerbandt.de/Access/Newbie.htm
KnowHow-mdb und andere Beispiele: http://www.freeaccess.de
Sofern Access 200x bitte beachten:
http://www.freeaccess.de/MS-Access-Artikel.asp?ID™

Ich unterstütze PASS Deutschland e.V. (http://www.sqlpass.de)
Nàchstes Treffen in Nürnberg am 23.10.2007

Ähnliche fragen