Hi,
ich habe ein echtes Problem mit dem UTF8-Format, welches für den Import in eine Datenbank erforderlich ist.
Die Zusammenführung der Dateien muss in Excel geschehen. Unser Programmierer liefert mir eine Datei, die in UTF8 abgespeichert wurde und die ich als UTF8 wieder übergeben muss. Excel kann nur UTF16 exportieren, ich benötige aber UTF8.
Hat jemand hiermit Erfahrung? => urgend
ich habe ein echtes Problem mit dem UTF8-Format, welches für
den Import in eine Datenbank erforderlich ist.
Die Zusammenführung der Dateien muss in Excel geschehen. Unser
Programmierer liefert mir eine Datei, die in UTF8
abgespeichert wurde und die ich als UTF8 wieder übergeben
muss. Excel kann nur UTF16 exportieren, ich benötige aber
UTF8.
Hi Monstermops,
hilft dir das weiter:
http://bevoelkerungsstatistik.de/utf8.zip
Da wird anscheinend UTF-16 nach UTF-8 gewandelt durch sehr viele Ersetzungen ala:
(Der Parser von w-w-w hat da was rausgeschnitten, nach dem Ä steht immer noch ein Zeichen, kann er wohl nicht darstellen)
Teste das makro mal, wenn es klappt könnte man es ja um schreiben daß es in die andere Richtung tauscht.
' a acute big
Cells.Replace What:="Ã?", Replacement:="Á", LookAt:=xlPart, SearchOrder \_
:=xlByRows, MatchCase:=True
' a acute small
Cells.Replace What:="á", Replacement:="á", LookAt:=xlPart, SearchOrder \_
:=xlByRows, MatchCase:=True
' a brevis small
Cells.Replace What:="ă", Replacement:=ChrW(259), LookAt:=xlPart, SearchOrder \_
:=xlByRows, MatchCase:=True
' a cedilla big
Cells.Replace What:="Ä„", Replacement:=ChrW(260), LookAt:=xlPart, SearchOrder \_
:=xlByRows, MatchCase:=True
Gruß
Reinhard
ich habe ein echtes Problem mit dem UTF8-Format, welches für
den Import in eine Datenbank erforderlich ist.
Die Zusammenführung der Dateien muss in Excel geschehen. Unser
Programmierer liefert mir eine Datei, die in UTF8
abgespeichert wurde und die ich als UTF8 wieder übergeben
muss. Excel kann nur UTF16 exportieren, ich benötige aber
UTF8.
Hi Monstermops,
probier mal das Makro „Test“
Option Explicit
' Codequelle: http://www.activevb.de/rubriken/faq/faq0155.html
Private Declare Function WideCharToMultiByte Lib "kernel32.dll" ( \_
ByVal CodePage As Long, \_
ByVal dwFlags As Long, \_
ByVal lpWideCharStr As Long, \_
ByVal cchWideChar As Long, \_
ByVal lpMultiByteStr As Long, \_
ByVal cbMultiByte As Long, \_
ByVal lpDefaultChar As Long, \_
ByVal lpUsedDefaultChar As Long) As Long
Private Declare Function MultiByteToWideChar Lib "kernel32.dll" ( \_
ByVal CodePage As Long, \_
ByVal dwFlags As Long, \_
ByVal lpMultiByteStr As Long, \_
ByVal cbMultiByte As Long, \_
ByVal lpWideCharStr As Long, \_
ByVal cchWideChar As Long) As Long
Private Const CP\_UTF8 As Long = 65001
'
Sub Test()
Dim B() As Byte, N As Long, S As String
B = ConvertToUTF8("Hello world")
For N = 0 To UBound(B)
S = S & ChrW(B(N))
Next N
MsgBox S
End Sub
'
Private Function ConvertToUTF8(ByRef Source As String) As Byte()
Dim Length As Long
Dim Pointer As Long
Dim Size As Long
Dim Buffer() As Byte
Length = Len(Source)
Pointer = StrPtr(Source)
Size = WideCharToMultiByte(CP\_UTF8, 0, Pointer, Length, 0, 0, 0, 0)
ReDim Buffer(0 To Size - 1)
WideCharToMultiByte CP\_UTF8, 0, Pointer, Length, VarPtr(Buffer(0)), \_
Size, 0, 0
ConvertToUTF8 = Buffer
End Function
Gruß
Reinhard
Hi,
ich habe ein echtes Problem mit dem UTF8-Format, welches für
den Import in eine Datenbank erforderlich ist.
Die Zusammenführung der Dateien muss in Excel geschehen. Unser
Programmierer liefert mir eine Datei, die in UTF8
abgespeichert wurde und die ich als UTF8 wieder übergeben
muss. Excel kann nur UTF16 exportieren, ich benötige aber
UTF8.
Probier doch mal den SuperEdi, ein Editor der UTF8 und UTF16 lesen und speichern kann.
http://www.wolosoft.com/de/superedi/
Die Datei mit dem SuperEdi öffnen, als csv speichern in UTF16-Format, in Excel öffnen und bearbeiten, als csv speichern, mit SuperEdi öffnen und in UTF8 speichern. *dauemendrück*
Gruß
Marion
Hallo zusammen,
vielen Dank für die Hilfe. Im Scripten selbst kenne ich mich nicht so gut aus, aber ich habe es mit verschiedenen Programmen versucht. Ergebnis: Open Office speichert in UTF-8 ab. Leider mit Texttrennzeichen, aber das werden wir lösen.
Danke und Gruß
monstermops
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]