Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Csv (und andere Dateien) in charset utf-8 umwandeln (batch)

Frage Entwicklung Batch & Shell

Mitglied: OKIDOKI

OKIDOKI (Level 1) - Jetzt verbinden

22.02.2015, aktualisiert 22:31 Uhr, 1610 Aufrufe, 4 Kommentare

Guten Abend,

ich hänge seit Tagen an einem Problem:
Eine csv und php Datei möchte ich, wie der Titel sagt, verlässlich in charset=utf-8 umwandeln. Mit Notepad++ habe ich das eigentlich schon erledigt, im Browser werden in den Dateien ü,äö und ß aber immer noch als � angezeigt. Da ständig neue csv-Dateien anfallen, möchte ich die natürlich automatisch ummodeln.
Also, zwei Fragen:
Wie kann ich die Umwandlung sicher bewerkstelligen und wie automatisieren?

Habe hier einen Ansatz gefunden, der aber leider überhaupt nicht geht bei mir:

iconv -f ISO-8859-1 -t utf-8 foo > bar

Kann mir jemand helfen?
gruenlinge

Mitglied: rubberman
LÖSUNG 22.02.2015, aktualisiert um 22:31 Uhr
Hallo OKIDOKI,

mit Batch geht das, allerdings nicht ohne temporäre Dateien.
01.
@echo off &setlocal 
02.
:: Zieldatei spezifizieren 
03.
set "targetfile=test.txt" 
04.
 
05.
:: temporäre Dateien spezifizieren 
06.
set "utf16file=%temp%\tmp16.utf~" 
07.
set "utf8file=%temp%\tmp8.utf~" 
08.
 
09.
:: derzeitige Codepage sichern 
10.
for /f "tokens=2 delims=:" %%i in ('chcp') do set /a "oemcp=%%~ni" 
11.
 
12.
:: zu Windows-1252 wechseln 
13.
>nul chcp 1252 
14.
 
15.
:: Byte Order Marks schreiben 
16.
<nul >"%utf16file%" set /p "=ÿþ" 
17.
<nul >"%utf8file%" set /p "=" 
18.
 
19.
:: Konvertierung zu UTF-16 LE 
20.
>>"%utf16file%" cmd /u /q /d /c type "%targetfile%" 
21.
 
22.
:: Konvertierung zu UTF-8 
23.
>nul chcp 65001 
24.
>>"%utf8file%" cmd /a /q /d /c type "%utf16file%" 
25.
 
26.
>nul chcp %oemcp% 
27.
 
28.
:: UTF-16 Datei löschen 
29.
del "%utf16file%" 
30.
:: Zieldatei durch UTF-8 Datei ersetzen 
31.
>nul move /y "%utf8file%" "%targetfile%"
Grüße
rubberman
Bitte warten ..
Mitglied: 114757
LÖSUNG 22.02.2015, aktualisiert um 22:31 Uhr
Moin,
oder mit Hilfe von Powershell in Batch
01.
powershell -ExecutionPolicy ByPass -Command "&{gc 'c:\data_in.csv' | set-content 'c:\data_out.csv' -Encoding UTF8}"
oder wenns mehrere Dateien auf einmal sein sollen
01.
powershell -ExecutionPolicy ByPass -Command "&{gci 'c:\daten\*.csv' | %{ (gc $_.Fullname) | set-content $_.Fullname  -Encoding UTF8}}"
Gruß jodel32
Bitte warten ..
Mitglied: OKIDOKI
22.02.2015 um 21:51 Uhr
Hallo rubberman,
hallo jodel32,

werde beide Varianten ausfürhlich probieren! (Jetzt ist erst mal Bett angesagt ).

Schon mal Vorab riesigen Dank!
Gruenlinge
Bitte warten ..
Mitglied: OKIDOKI
22.02.2015 um 22:14 Uhr
... ich habs eben doch noch einmal ausprobiert

Beide Varianten gehen bei mir, wobei ich mich für die rubbermann-Variante entscheiden werde. Grund: Diese kann ich in meinen vorhandenen Batchablauf noch einfacher integrieren. Allerdings habe ich das Gefühl, dass Powershell deutlich leistungsfähiger ist - in batch finde ich zumindest viele Fehler und fühle mich da sicherer...

Ich danke euch für eure prima Hilfe!
gruenlinge
Bitte warten ..
Ähnliche Inhalte
Python
gelöst Python mal utf-8 mal nicht (1)

Frage von peterpa zum Thema Python ...

Batch & Shell
gelöst Dateien aus CSV mit Batch suchen (5)

Frage von joes1609 zum Thema Batch & Shell ...

Batch & Shell
Per Batch in Aufgabeplanung XLS in CSV umwandeln (21)

Frage von dtbsys zum Thema Batch & Shell ...

XML
gelöst Xml-Datei in eine csv-Datei umwandeln mit Powershell (5)

Frage von jan.kleinel zum Thema XML ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
SAN, NAS, DAS
MSA 2050 RAID Konfig (27)

Frage von Leo-le zum Thema SAN, NAS, DAS ...

Microsoft Office
Office Druck fehler (14)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

Frage von peterla zum Thema Festplatten, SSD, Raid ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...