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, 3111 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 ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst Textdateien TXT in allen Verzeichnissen suchen und zusammenfassen (19)

Frage von chgs2011 zum Thema Batch & Shell ...

Batch & Shell
Powershell - In Textdatei suchen und ersetzen (3)

Frage von Raaja89 zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...