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

Textdateien nach Zeichenkodierung-Zeichensatz suchen

Frage Entwicklung

Mitglied: zepho

zepho (Level 1) - Jetzt verbinden

11.05.2010 um 11:59 Uhr, 3124 Aufrufe, 6 Kommentare

Kennt wer ein Suchprorgamm unter Win, das nach Zeichenkodierungen sortiert?

Guten Tag,
da sich in einem meiner größeren PHP-Projekte Ansi-kodierte Dateien unter meine UTF-8 Files gemischt haben, wollte ich alle ANSI-Textdateien suchen, finde aber kein passendes Tool dazu
Hat jemand einen Tipp / Empfehlung?
Mitglied: LotPings
11.05.2010 um 12:41 Uhr
Hallo zepho,

sind die Dateien denn entsprechend getaggt, oder wäre das nur aus dem Inhalt erkenntlich?
Da ANSI und UTF-8 im Bereich von 0-127 identisch mit ASCII sind, kann man es dann nur an gfs vorhandenen Umlauten oder sonstigen Bekannten Sonderzeichen erkennen.

Gruß
LotPings
Bitte warten ..
Mitglied: zepho
11.05.2010 um 12:58 Uhr
Ich verwende weder Signierung noch BOM, wenn du das mit taggen meinst.
Da es sich um Klassen handelt, die gut kommentiert sind und auch in Deutsch, gehen ich davon aus, dass zumindest Umlaute vorhanden sind.
Andernseits habe ich gerade eine kleinere Datei ohne Umlaute geöffnet, die als UTF8 erkannt wird. Ich denke also nicht, dass es daran liegt.

Ich finde auch kein Suchtool bei google, bin ich auf ein schwarzes Loch gestoßen? Muss ich jetzt alles per Hand machen?
Bitte warten ..
Mitglied: dog
11.05.2010 um 13:14 Uhr
Naja, wenn deine Dateien eine BOM haben sind die Anderen doch leicht zu finden.

01.
<?php 
02.
 
03.
	function findNonBOMRecursive($startDir,&$outArray
04.
05.
		if($startDir[strlen($startDir)-1] != '/'
06.
			$startDir .= '/'
07.
			 
08.
		$files = glob($startDir.'*'); 
09.
		 
10.
		foreach ($files as $file) { 
11.
			 
12.
			if(is_dir($file)) { 
13.
				findNonBOMRecursive($file,$outArray); 
14.
				continue
15.
16.
			 
17.
			if(!preg_match('/\.php$/iD', $file)) 
18.
				continue
19.
			 
20.
			$fh = fopen($file,'r'); 
21.
			$top = fread($fh, 3); 
22.
			fclose($fh); 
23.
			 
24.
			if($top != "\xEF\xBB\xBF"
25.
				$outArray[] = $file
26.
27.
28.
	 
29.
	$files = array(); 
30.
	 
31.
	findNonBOMRecursive('/my/project',$files); 
32.
	 
33.
	print_r($files); 
34.
 
35.
?>
(Nur so aus dem Kopf)
Bitte warten ..
Mitglied: zepho
11.05.2010 um 13:17 Uhr
sorry da hast du dich verlesen....
"Ich verwende weder Signierung noch BOM..."
Bitte warten ..
Mitglied: dog
11.05.2010 um 13:26 Uhr
Na gut, dann bleibt dir nur übrig in der Datei nach UTF8-Zeichen zu suchen:

01.
<?php 
02.
 
03.
	function findNonUTF8Recursive($startDir,&$outArray
04.
05.
		if($startDir[strlen($startDir)-1] != '/'
06.
			$startDir .= '/'
07.
			 
08.
		$files = glob($startDir.'*'); 
09.
		 
10.
		foreach ($files as $file) { 
11.
			 
12.
			if(is_dir($file)) { 
13.
				findNonBOMRecursive($file,$outArray); 
14.
				continue
15.
16.
			 
17.
			if(!preg_match('/\.php$/iD', $file)) 
18.
				continue
19.
			 
20.
			$cont = file_get_contents($file); 
21.
			 
22.
			if(strpos($cont, "\xC3\xBC") || //ü 
23.
			   strpos($cont, "\xC3\xA4") || //ä 
24.
			   strpos($cont, "\xC3\xB6") || //ö 
25.
			   strpos($cont, "\xC3\x9F")    //ß  
26.
27.
				continue
28.
			 
29.
			$outArray[] = $file
30.
31.
32.
	 
33.
	$files = array(); 
34.
	 
35.
	findNonUTF8Recursive('/my/project',$files); 
36.
	 
37.
	print_r($files); 
38.
 
39.
?>
Natürlich findest du so keine Dateien mit gemischtem Encoding.
Bitte warten ..
Mitglied: zepho
11.05.2010 um 13:35 Uhr
hmm, okay. In meinem Fall müsste man glob noch auf php,htm/l und css,js beschränken.

Aber ich denke mir wird wohl nichts anderes übrig bleiben, als das ganz in php zu lösen. Da ich meine Update-Pakete auch mit PHP erstelle könnte ich ggf. eine Art Enkontrolle einbauen...mal sehen...

Danke für deine schnelle Vorlage, ich werd mein Projekt erstmal sichern und ein wenig basteln, da mein Akku aber bei 10% steht (schon 32 h wach) melde ich mich morgen nochmal hierzu.

Schönen Tag noch und Danke
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Textdateien TXT in allen Verzeichnissen suchen und zusammenfassen (19)

Frage von chgs2011 zum Thema Batch & Shell ...

Batch & Shell
gelöst String in TXT suchen, überprüfen und wenn noetig aendern ? (4)

Frage von buliwyf zum Thema Batch & Shell ...

Outlook & Mail
gelöst Outlook Kontakte suchen für Mail (3)

Frage von Micky770 zum Thema Outlook & Mail ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Viren und Trojaner
Ransomware .nm4 (14)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (11)

Frage von Matsushita zum Thema Microsoft Office ...

Zusammenarbeit
Administrator Verhalten nach Vertragskündigung (10)

Frage von sysbone zum Thema Zusammenarbeit ...