Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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
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, 1666 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
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows 10
Seekrank bei Windows 10 (18)

Frage von zauberer123 zum Thema Windows 10 ...

Windows 10
Windows 10 Fall Creators Update Fehler (14)

Frage von ZeroCool23 zum Thema Windows 10 ...

Router & Routing
gelöst Getrenntes Routing bei VoIP und Daten (12)

Frage von Hobbystern zum Thema Router & Routing ...