![]() |
php-Dateien per Batch von DOS-Format => UTF8-Unix?
Hallo liebe Delphianer,
ich suche, wie die Überschrift schon sagt, ein Tool, das mir Text-Dateien (php-Quellcode) per Batch von Ascii-DOS in UTF8-Unix konvertieren kann. Mein UltraEdit (v17) kann das leider nur immer einzeln für eine einzige Datei, per Makro funzt auch nicht, da der entsprechende Befehl nicht als Makro-Funktion zur Verfügung steht... Das Projekt hat ~300 Quellcode-Dateien, die in Ordnern verschachtelt sind, da möchte ich nicht jede einzeln aufmachen, umwandeln und abspeichern... Kennt hier jemand ein Tool dafür? Kann auch ein kleines Kommandozeilen-Tool sein. Ich habe schon was über iconv ergooglet, allerdings werde ich da nicht ganz schlau draus mit dem ganzen Parameter-Wust, scheint ein wenig "Nerdcore" zu sein das gute Teil :-D Sinn und zweck ist es, das ganze Projekt (ein altes php-Framework, das ich mal geschrieben habe) mal aufzuräumen, das ganze in ein MVC-Pattern umzusetzen und dabei gleich alles auf UTF8 umzustellen. Allerdings meckert NetBeans, wenn man das Projekt als UTF8 anlegt, die bestehenden Quelldateien aber Ascii-DOS sind, und konvertieren kann Netbeans beim Öffnen anscheinend nicht...doof. |
AW: Text-Dateien per Batch von Ascii-DOS => UTF8-Unix?
Hast du ein Linux zur Verfügung? Dann sind dos2unix und iconv deine Freunde! :)
Code:
Liebe Grüße,
valentin@orion:~$ dos2unix "datei.txt" && iconv -f ascii -t utf-8 "datei.txt"
Valentin |
AW: php-Dateien per Batch von Ascii-DOS => UTF8-Unix?
Wooow! So schnell eine Antwort! Danke! :thumb::thumb:
Ja, ein Linux habe ich....dein CMD-Sample sieht auch schon vielversprechend aus. Wie wäre dann der Syntax, wenn man das ganze nicht nur für eine Datei, sondern rekursiv für alle .php-Dateien ab einem bestimmten Verzeichnis machen will? (bin nicht sooo der Linux-Crack..) |
AW: php-Dateien per Batch von Ascii-DOS => UTF8-Unix?
Sind die alle in möglichst wenigen Verzeichnissen?
Du könntest dann ein wenig Unix-Shell-Skripten:
Code:
Bernhard
find -iname *.php .|while read f ; do
DER BEFEHL "$f" DER ZWEITE BEFEHL "$f" done |
AW: php-Dateien per Batch von Ascii-DOS => UTF8-Unix?
Murmel, murmel....würde das dann so gehen? (bevor ich mein Linux zerschiesse :-D):
Code:
find -iname *.php .|while read f ; do
dos2unix "$f" iconv -f ascii -t utf-8 "$f" done |
AW: php-Dateien per Batch von Ascii-DOS => UTF8-Unix?
Zitat:
2. Das Skript nur im richtigen Ordner ausführen 3. find arbeitet REKURSIV, sollte also alles erwischen Bernhard |
AW: php-Dateien per Batch von Ascii-DOS => UTF8-Unix?
1.) Mach ich eh immer :-)
2.) Ach, nicht im root-Verzeichnis? Nein, Scherz! :stupid: 3.) Ok, dann lass ich den Pinguin mal die Fische fangen! Danke vielmals für die Hilfe!! :thumb::thumb: |
AW: php-Dateien per Batch von Ascii-DOS => UTF8-Unix?
ok, ganz richtig war das noch nicht, denn die beiden Befehle wollten auch ein Output-Target haben...aber das ist ja schnell gelöst :-)
Ausserdem hat mir die Input-Codierung "ASCII" die Umlaute in den deutschen Header-Kommentaren zerschossen, "LATIN1" war das richtige :) (mein Fehler in der Thread-Titel-Angabe...Titel angepasst) Falls jemand etwas Ähnliches mal braucht, hier nun der zusammengewurschtelte, richtige Code für das Linux-Shellscript:
Code:
Danke nochmal für die Hilfe, den Denkanstoss und den Script-Fetzen!
#!/bin/bash
find -iname '*.php' |while read f ; do dos2unix "$f" -o "$f" iconv -f LATIN1 -t UTF-8 "$f" -o "$f" done Ich bin nun glücklich, dass ich nicht jede Datei einzeln aufmachen musste und hab wieder was von Linux gelernt :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz