halo7one
Goto Top

Codierungsproblem bei ini-Bearbeitung per VBS

Ich möchte eine von einem Programm erstelle ini-Datei per VBScript bearbeiten. Doch scheinbar kommt mir die Zeichenkodierung in die Quere.
Welche Zeichenkodierungen unterstützt VBScript denn?

Servus Leute,

wenn ich mich nicht täusche ist die Standardzeichenkodierung unter Windows doch wohl ANSI. Damit funktioniert die Editiernug auch wunderbar.
Nun speichert das Programm, dass die ini-Datei erstellt, seine Einstellungen jedoch im UTF-16 LE Format. Damit kommt mein VBScript wohl nicht klar. Das auslesen der ini-Datei per FileSystemObject liefert nur Schrott, einen TextStream per MsgBox nur "ÿþ[" ausgibt (unabhängig vom ini-Inhalt) und ab ca. 130 (ANSI / = 260 UDF-16 LE) Zeichen einen Error beim schreiben in eine Datei erzeugt
Wenn ich den Text per Editor manuell in eine andere ini-Datei kopiere (per Windows erstellt = ANSI Codierung), funktioniert alles, vom Textauslesen bis zum Textschreiben.

Meine Frage ist nun ob jemandem Einschränkungen oder Probleme von VBS mit verschiedenen Zeichenkodierungen bekannt sind und ob es dafür einen Workaround o.ä. gibt.

ini-Datei (Ausschnitt, gibt aber auch schon einen Schreib-Error):
[\Software\PROGRAMX\AlbumArt]
LastAlbumName=str:test
JPG_Quality=int:80
ExtractType=int:0
ExtractTimeSec1=int:60
ExtractTimeSec2=int:300

VBScript Beispiel:
Dim FSO, FileName, File, FileText
Const ForReading = 1, ForWriting = 2
Set FSO = CreateObject("Scripting.FileSystemObject")  
FileName = "New.ini"  

Set File = FSO.OpenTextFile(FileName, ForReading, False)
FileText = File.ReadAll
File.Close
MsgBox FileText
MsgBox Len(FileText)
Text = FileText & "sonstwas"  

Set File = FSO.OpenTextFile(FileName, ForWriting, True)
File.Write Text
File.Close

Gruß,
halo7one

Content-ID: 133093

Url: https://administrator.de/contentid/133093

Ausgedruckt am: 20.11.2024 um 04:11 Uhr

76109
76109 11.01.2010 um 08:25:53 Uhr
Goto Top
Hallo halo7one!

Versuche es mal mit:
Set File = FSO.OpenTextFile(FileName, ForReading, False, True)
4. Parameter Tristate = True (Unicode)

Gruß Dieter
TsukiSan
TsukiSan 11.01.2010 um 14:28:47 Uhr
Goto Top
also bei mir funktioniert obige ini-Datei zusammen mit dem VBS-Script ohne irgendwelche Zusätze (WIN XP Prof ENG,SP2)
Aber didi1954 hat natürlich auch Recht.

Gruss
Tsuki