Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
Kommentar vom Moderator Biber am 11.02.2010 um 10:42:29 Uhr
auf Gelöst gesetzt

Frage Entwicklung Batch & Shell

GELÖST

Eine mit encoding UTF-8 gespeicherte Datei neu speichern mit encoding ANSI

Mitglied: nimisop

nimisop (Level 1) - Jetzt verbinden

10.02.2010, aktualisiert 11.02.2010, 12550 Aufrufe, 9 Kommentare

Kann mir jemand sagen ob dies per Batch möglich ist.

Die Ausgangslage ist, dass ich ein Datei einer Applikation bekomme die als UTF-8 encoding gespeichert wurde. FILE2_input.txt
Diese Datei muss ich nun via ConnectDirect ( Sterling Commerce ) auf ein Mainframe senden ( VSAM Katalog )
Error Message= Negative response received during copy send - type EXTCMPR_VARS.BUFFER.
An input LRECL > output LRECL detected for non-compressed file.

Da die UTF-8 Datei komprimiert ist wird der Transfer nicht ausgeführt.

Error Message= Negative response received during copy send - type EXTCMPR_VARS.BUFFER.
An input LRECL > output LRECL detected for non-compressed file.

Jedoch wenn ich die Datei öffne und sage Speichern als FILE2_input.txt und das encoding ANSI verwende kann die Datei
ohne weiteres gesendet werden. Und auf dem Mainframe weiter verarbeitet werden.
Mitglied: Biber
10.02.2010 um 17:54 Uhr
Moin nimisop,

so schwer es mir fällt, dieses Zugeständnis hier im Bereich "Batch & Shell" machen zu müssen... aber...
Meines Wissens geht es ohne Zusatzprogramme nicht mit "nativen" Batchmitteln.

Ich hatte ein ähnliches Problem vor ein ein paar Monaten und seinerzeit auch ein paar Viertelstündchen nach einer "einfachen" Lösung oder einem im Internet bereitgestellen Kommandozeilen-Utility gesucht... ohne Erfolg.

Wenn es irgendwie möglich ist, checke zumindest die beiden anderen Strategien
  • frage beim Erzeuger/Ersteller dieser Text-im-UTF8-Format-Datei nach, ob nicht eine Bereitstellung als Nicht-Unicode möglich wäre
  • und, aber nur als Plan B oder C: sende die Datei nicht im Fixblock (FB)-Format, sondern im als VB (Variable Länge) hoch..

Falls du über ein Kommandozeilen-Utility stolpern solltest, das UTF-8 in ANSI konvertieren kann... bitte stell den Link hier bereit.

Grüße
Biber

[Edit] @T-Mo. Danke für den Link. [/Edit]
Bitte warten ..
Mitglied: 60730
10.02.2010 um 18:25 Uhr
Zitat von Biber:
Falls du über ein Kommandozeilen-Utility stolpern solltest, das UTF-8 in ANSI konvertieren kann... bitte stell den Link hier bereit.
..für den eifrigsten Nager unter allen Bibern LibIconv
Grüße
Biber

zurück
Bitte warten ..
Mitglied: rubberman
10.02.2010 um 20:03 Uhr
Hallo Zusammen.

Es gibt da noch die Möglichkeit mit VBS und ADO und somit eine Chance das ganze mit Bordmitteln zu bewerkstelligen. Kommt auf den Versuch an.

*.bat
01.
@echo off &setlocal 
02.
 
03.
set "inFile=UTF8.txt" 
04.
set "outFile=ANSI.txt" 
05.
 
06.
set "UTF8toANSI=%temp%\tmp.vbs" 
07.
>"%UTF8toANSI%" echo Set streamUTF8 = CreateObject("ADODB.Stream") 
08.
>>"%UTF8toANSI%" echo Set streamANSI = CreateObject("ADODB.Stream") 
09.
>>"%UTF8toANSI%" echo With streamUTF8 
10.
>>"%UTF8toANSI%" echo   .Open 
11.
>>"%UTF8toANSI%" echo   .LoadFromFile WScript.Arguments(0) 
12.
>>"%UTF8toANSI%" echo   .Type = 2 
13.
>>"%UTF8toANSI%" echo   .LineSeparator = 10 
14.
>>"%UTF8toANSI%" echo   .CharSet = "UTF-8" 
15.
>>"%UTF8toANSI%" echo   With streamANSI 
16.
>>"%UTF8toANSI%" echo     .Open 
17.
>>"%UTF8toANSI%" echo     .Type = 2 
18.
>>"%UTF8toANSI%" echo     .LineSeparator = -1 
19.
>>"%UTF8toANSI%" echo     .Charset = "x-ansi" 
20.
>>"%UTF8toANSI%" echo     .WriteText streamUTF8.ReadText(-1) 
21.
>>"%UTF8toANSI%" echo     .SaveToFile WScript.Arguments(1), 2 
22.
>>"%UTF8toANSI%" echo     .Close 
23.
>>"%UTF8toANSI%" echo   End With 
24.
>>"%UTF8toANSI%" echo   .Close 
25.
>>"%UTF8toANSI%" echo End With 
26.
 
27.
cscript //nologo "%UTF8toANSI%" "%inFile%" "%outFile%" 
28.
 
29.
del "%UTF8toANSI%"
Grüße
rubberman
Bitte warten ..
Mitglied: Biber
10.02.2010 um 20:29 Uhr
Moin rubberman,

super... gefällt mir gut und klappt.
Ich habe in deinem Schnipsel noch die fest verdrahteten Werte
Set "infile=UTF8.txt"/Set "Outfile=ANsi.txt" ersetzt durch Set "infile=%~1"/Set "outfile=%~2".

Probelauf
>e:\schnipsel\Utf2Ansi.cmd d:\temp\BspUTF8.txt d:\temp\BspRubberman.txt 
 
>dir bsp*.* 
 
10.02.10  20:11                39 BspRubberman.txt 
10.02.10  19:43                49 BspUTF8.txt 
10.02.10  19:52                39 BspUTFeditor.txt
Die Datei "BspUTF8.txt" enthält eine Zeile mit ein paar Umlauten und Eurozeichen und ist 49 Byte gross.
"BspUTFeditor.txt" ist dieselbe Datei, per Editor geöffnet und als ANSI abgespeichert und danach noch 39 Byte gross.
"BspRubberman.txt" wie zu sehen ist auch und hat (laut Fc.exe) keine Unterschiede zur hand-editierten Datei.

@T-Mo
Auf der von dir geposteten Site war ich damals auch... aber das war mir ein wenig überdimensioniert.

Grüße
Biber
Bitte warten ..
Mitglied: rubberman
10.02.2010 um 21:56 Uhr
@Biber
Danke für die lobenden Worte.
Schön zu hören, dass auch bei Dir der Test positiv war

Ein paar erklärende Zeilen würde ich an dieser Stelle noch los werden, da das Script mit wenigen Änderungen recht universell einsetzbar wäre.
Normalerweise würde man mit selbsterklärenden Konstanten arbeiten können, diese sind aber in VBS nich verfügbar.

.Type
Binary = 1
Text = 2

.LineSeparator
Lf = 10
Cr = 13
CrLf = -1

.CharSet
"big5"
"euc-jp"
"euc-kr"
"gb2312"
"iso-2022-jp"
"iso-2022-kr"
"iso-8859-1"
"iso-8859-2"
"iso-8859-3"
"iso-8859-4"
"iso-8859-5"
"iso-8859-6"
"iso-8859-7"
"iso-8859-8"
"iso-8859-9"
"koi8-r"
"shift-jis"
"us-ascii"
"utf-7"
"utf-8"
"x-ansi"

.ReadText
ReadAll = -1
ReadLine = -2

.SaveToFile Name, 2
SaveCreateNotExist = 1
SaveCreateOverWrite = 2

Grüße
rubberman
Bitte warten ..
Mitglied: nimisop
11.02.2010 um 08:18 Uhr
@rubberman

Die Umwandlung hat prima geklappt jedoch habe ich eine Änderung gemacht da die Datei die ich bekomme mit dem
Datum versehen ist welches sich jeden Tag natürlich ändern wird.
Der Rest des Scripts wurde nicht verändert.

set Uploaddir=C:\shared\input\
set file2=FILE2_REC*

pushd %UploadDir%
IF NOT EXIST %file2% goto exit
for /F %%I in ('dir %file2% /b') do @set FILE2=%%I

pushd %UploadDir%
set "inFile=%file2%"
set "outFile=%file2%"
set "UTF8toANSI=%temp%\tmp.vbs"
Bitte warten ..
Mitglied: nimisop
11.02.2010 um 09:34 Uhr
Alles ist nun PERFEKT am laufen

Herzlichen DANK
Bitte warten ..
Mitglied: NBTKetchup
16.08.2011 um 11:08 Uhr
Hi zusammen,

ich wollte das tool anderst herum benutzen also von ANSI in UTF-8, das funktioniert auch fast ohne Probleme.

Allerdings macht er in mein Outpufile in der ersten Zeile an den Anfang ein "ÿþ" was die Datei für meine weiteren Verarbeitungen unbrauchbar macht. Hat einer ne Idee wo mein Fehler ist?

so sieht mein Script aus:

01.
set "inFile=ich bin ein Input.txt"  
02.
set "outFile=ich bin ein Output.txt"  
03.
set "UTF8toANSI=%temp%\tmp.vbs"  
04.
>"%UTF8toANSI%" echo Set streamANSI = CreateObject("ADODB.Stream")  
05.
>>"%UTF8toANSI%" echo Set streamUTF8 = CreateObject("ADODB.Stream")  
06.
>>"%UTF8toANSI%" echo With streamAnsi 
07.
>>"%UTF8toANSI%" echo   .Open  
08.
>>"%UTF8toANSI%" echo   .LoadFromFile WScript.Arguments(0)  
09.
>>"%UTF8toANSI%" echo   .Type = 2 
10.
>>"%UTF8toANSI%" echo   .LineSeparator = -1 
11.
>>"%UTF8toANSI%" echo   .CharSet = "x-ansi"  
12.
>>"%UTF8toANSI%" echo   With streamUTF8 
13.
>>"%UTF8toANSI%" echo     .Open  
14.
>>"%UTF8toANSI%" echo     .Type = 2 
15.
>>"%UTF8toANSI%" echo     .LineSeparator = 10 
16.
>>"%UTF8toANSI%" echo     .Charset = "UTF-8"  
17.
>>"%UTF8toANSI%" echo     .WriteText streamANSI.ReadText(-1)  
18.
>>"%UTF8toANSI%" echo     .SaveToFile WScript.Arguments(1), 2  
19.
>>"%UTF8toANSI%" echo     .Close  
20.
>>"%UTF8toANSI%" echo   End With  
21.
>>"%UTF8toANSI%" echo   .Close  
22.
>>"%UTF8toANSI%" echo End With  
23.
cscript //nologo "%UTF8toANSI%" "%inFile%" "%outFile%" 
Grüße Ket
Bitte warten ..
Mitglied: rubberman
01.08.2012 um 20:29 Uhr
Hallo Zusammen,

hatte die letzte Frage leider nie zur Kenntnis genommen. Für alle die über diesen Thread stolpern und sich geärgert hätten, wenn das Problemm nie gelöst wurde:

Ich habe hier von Anfang an einen kleinen aber nicht unwichtigen Fehler drin. Die Properties der Streams sollten festgelegt sein, bevor die Streams geöffnet werden. Somit würde sich folgendes ergeben:
--- snip ---
01.
set "ANSItoUTF8=%temp%\tmp.vbs"  
02.
>"%ANSItoUTF8%" echo Set streamANSI = CreateObject("ADODB.Stream")  
03.
>>"%ANSItoUTF8%" echo Set streamUTF8 = CreateObject("ADODB.Stream")  
04.
>>"%ANSItoUTF8%" echo With streamAnsi 
05.
>>"%ANSItoUTF8%" echo   .Type = 2 
06.
>>"%ANSItoUTF8%" echo   .LineSeparator = -1 
07.
>>"%ANSItoUTF8%" echo   .CharSet = "x-ansi"  
08.
>>"%ANSItoUTF8%" echo   .Open  
09.
>>"%ANSItoUTF8%" echo   .LoadFromFile WScript.Arguments(0)  
10.
>>"%ANSItoUTF8%" echo   With streamUTF8 
11.
>>"%ANSItoUTF8%" echo     .Type = 2 
12.
>>"%ANSItoUTF8%" echo     .LineSeparator = 10 
13.
>>"%ANSItoUTF8%" echo     .Charset = "UTF-8"  
14.
>>"%ANSItoUTF8%" echo     .Open  
15.
>>"%ANSItoUTF8%" echo     .WriteText streamANSI.ReadText(-1)  
16.
>>"%ANSItoUTF8%" echo     .SaveToFile WScript.Arguments(1), 2  
17.
>>"%ANSItoUTF8%" echo     .Close  
18.
>>"%ANSItoUTF8%" echo   End With  
19.
>>"%ANSItoUTF8%" echo   .Close  
20.
>>"%ANSItoUTF8%" echo End With
--- snip ---

Grüße
rubberman
Bitte warten ..
Ähnliche Inhalte
Ubuntu
Dateiinhalt in UTF-8 ist nicht gleich UTF-8?
gelöst Frage von lexa-lexaUbuntu6 Kommentare

Hi Linux und PHP Gurus, ich habe ein Problem mit dem Zeichensatz *in* einer Datei und komme nicht weiter: ...

Batch & Shell
txt mit UTF-8 Codierung per batch in ANSI Codierung umwandeln
gelöst Frage von pdiddoBatch & Shell3 Kommentare

Hi Leute, ich brauche eure Hilfe. Ich habe eine .txt Datei die in UTF-8 codiert ist. Ich möchte mittels ...

Batch & Shell
Csv (und andere Dateien) in charset utf-8 umwandeln (batch)
gelöst Frage von OKIDOKIBatch & Shell4 Kommentare

Guten Abend, ich hänge seit Tagen an einem Problem: Eine csv und php Datei möchte ich, wie der Titel ...

Python
Python mal utf-8 mal nicht
gelöst Frage von peterpaPython1 Kommentar

Hallo, ich versuche gerade ein Programm zu schreiben, in Python, welches eine große HTML Datei in mehrere kleine aufspaltet. ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit29 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

SAN, NAS, DAS
Hilfe beim Einrichten eines Storages (SAN)
gelöst Frage von Vader666SAN, NAS, DAS15 Kommentare

Hallo Admins! Ich bin in einer kleineren Firma und hatte bisher mit dem Thema SAN nur in meiner Ausbildung ...

Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...