3rd Party eXtplorer - Umlaute

cypermm

Benutzer
Mitglied seit
09. Oktober 2008
Beiträge
1
Punkte für Reaktionen
0
Punkte
0
Hallo Forum,

wir setzen auf unserem WebServer eXtplorer in der 2.0.0-Version unabhängig von Joomla ein. Er dient unseren Mitarbeitern und Kunden als zentrale projektbezogene Dateiablage. Wir haben allerdings massive Probleme mit Dateien die Umlaute oder Sonderzeichen enthalten. So wird z. B. die Datei einzüge.txt nach dem Upload als einzüge.txt dargestellt. Eine Download ist dann gar nicht mehr möglich bzw. es wird eine leere Datei heruntergeladen die dann als einzüge.txt zur Verfügung steht. Hat irgendjemand ein ähnliches Problem oder weiß Rat? Habe schon gegoogelt aber ich scheine der Einzigste mit diesem Pänomen zu sein.

DANKE
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
3
Punkte
0
Nö das ist völlig normaler Quatsch. UTF-8 versus ISO8859-1 Zeichensätze. Ich habe in jedem Skript von mir eine kleine Umwandlungsroutine, um das Problem abzufangen, weil es mir irgendwann zu blöd wurde, immer zwischen den Browser, Datenbank, Betriebssystem und Samba-Schreibweisen hin- und her zu hüpfen. Die beste Empfehlung, die ich zu diesem Thema habe (und du kannst gerne mal im Forum nach meine Post suchen, wo ich das Problem auch geschildet habe) ist, keine Umlaute und Sonderzeichen im Dateinamen verwenden.
 

AlexTM

Benutzer
Mitglied seit
19. Oktober 2008
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo Leute!
Ich stehe jetzt vor dem gleichen Problem wie cypermm. Habe schon seit längerem nach einer Alternative zum Filemanager gesucht und jetzt den eXtplorer installiert. Bin von der Konfiguration und Funktionsvielfalt auch schon recht zufrieden, nur ärgere mich über die umlaut-darstellung bzw. nicht-darstellung. Der Filemanager schafft es, alle Umlaute in den Dateinamen richtig darzustellen, der eXtplorer aber leider nicht.
Dass man Umlaute in Dateinamen vermeiden sollte, ist ja eigentlich schon seit jahrzehnten bekannt, nur wie soll ich das meiner Frau erklären? Außerdem haben wir noch diverse Dateien aus anderen Quellen auf der DS, die auch alle Umlaute in den Dateinamen haben. Normale Anwender sind nunmal von Windows in den letzten Jahren zu sehr verwöhnt worden.
Hat denn niemand einen brauchbare Lösungsmöglichkeit für den eXtplorer, um die Umlaute korrekt anzuzeigen? Im Prinzip muss ja nur korrekt die UTF-8-Codierung umgesetzt werden.
 

AlexTM

Benutzer
Mitglied seit
19. Oktober 2008
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Umlaut-Problem gefixt

So, da sich ja sonst offenbar jeder mit der Umlaut-Problematik abgefunden hat, habe ich mich jetzt selber dran gesetzt und den eXtplorer 2.0.0 entsprechend angepasst. Seit dem RC2 des eXtplorer ist eine Basis-Unterstützung für UTF-8 implementiert worden, die allerdings auf der DiskStation nicht nötig ist und so nur für Probleme mit den deutschen Umlauten sorgt. Es ist jedoch möglich, den Code wieder zu bereinigen:
Rich (BBCode):
include\archive.php
line  53 alt:			$saveToDir = utf8_decode($GLOBALS['__POST']['saveToDir']);
         neu:			$saveToDir = $GLOBALS['__POST']['saveToDir'];
line 101 alt:					if( is_dir( utf8_decode($abs_dir ."/". $selitem ))) {					
         neu:					if( is_dir( $abs_dir ."/". $selitem )) {					
line 102 alt:						$items = extReadDirectory(utf8_decode($abs_dir ."/".  $selitem), '.', true, true );
         neu:						$items = extReadDirectory($abs_dir ."/".  $selitem, '.', true, true );
line 109 alt:						$v_list[] = utf8_decode(str_replace('\\', '/', $abs_dir ."/". $selitem ));
         neu:						$v_list[] = utf8_decode(str_replace('\\', '/', $abs_dir ."/". $selitem ));
__________________________________________

include\chmod.php
line 129 alt:			$abs_item = utf8_decode($abs_item);
         neu://			$abs_item = utf8_decode($abs_item);
__________________________________________

include\download.php
line  76 alt:			header('Content-Disposition: attachment; filename="'.$item.'"');
         neu:			header('Content-Disposition: attachment; filename="'.utf8_decode($item).'"');
line  85 alt:		@readFileChunked(utf8_decode($abs_item));
         neu:		@readFileChunked($abs_item);
line  88 alt:		  	unlink( utf8_decode($abs_item) );
         neu:		  	unlink( $abs_item );
__________________________________________

include\edit.php
line  50 alt:		if(!get_is_file(utf8_decode($fname)))  {
         neu:		if(!get_is_file($fname))  {
__________________________________________

include\functions.php
line 345 alt:		$subdirs[$index] = utf8_encode($val);
         neu:		$subdirs[$index] = $val;
line 358 alt:				$subdirs[utf8_encode($index)] = utf8_encode($val);
         neu:				$subdirs[$index] = $val;
__________________________________________

include\init.php
line 69  alt:if($_SERVER['SERVER_PORT'] == 443 ) {
         neu:if($_SERVER['SERVER_PORT'] == 443 or $_SERVER['SERVER_PORT'] == 5001) {
line 254 alt:if(!get_is_dir(utf8_decode($abs_dir)) && !get_is_dir($abs_dir.$GLOBALS["separator"])) {
         neu:if(!get_is_dir($abs_dir) && !get_is_dir($abs_dir.$GLOBALS["separator"])) {
__________________________________________

include\list.php
line 221 alt:			$abs_item=get_abs_item(utf8_decode($dir), $item);
         neu:
line 226 alt: 		$items['items'][$i]['name'] = ext_isFTPMode() ? $item : utf8_encode($item);
         neu:		$items['items'][$i]['name'] = $item;
line 262 alt:			$dirlist[] = array('text' => htmlspecialchars(ext_isFTPMode() ? $item : utf8_encode($item)),
         neu:			$dirlist[] = array('text' => htmlspecialchars($item),
line 263 alt:								'id' => ext_isFTPMode() ? $id : utf8_encode($id),
         neu:								'id' => $id,
__________________________________________

libraries\File_Operations.php
line  30 alt:			return @chmod( utf8_decode($item), $mode );
         neu:			return @chmod( $item, $mode );
line  39 alt:			return chmod_recursive( utf8_decode($item), $mode );
         neu:			return chmod_recursive( $item, $mode );
line  53 alt:			return copy( utf8_decode($from), utf8_decode($to) );
         neu:			return copy( $from, $to );
line  73 alt:			return mkdir( utf8_decode($dir), $perms );
         neu:			return mkdir( $dir, $perms );
line  82 alt:			return @touch( utf8_decode($file) );
         neu:			return @touch( $file );
line  90 alt:			return unlink( utf8_decode($item) );
         neu:			return unlink( $item );
line 107 alt:			return remove( utf8_decode($item) );
         neu:			return remove( $item );
line 118 alt:			return rename( utf8_decode($oldname), utf8_decode($newname) );
         neu:			return rename( $oldname, $newname );
line 126 alt:			return opendir( utf8_decode($dir) );
         neu:			return opendir( $dir );
line 175 alt:			return file_exists( utf8_decode($file) );
         neu:			return file_exists( $file );
line 253 alt:			return file_get_contents( utf8_decode($file) );
         neu:			return file_get_contents( $file );
line 267 alt:			return file_put_contents( utf8_decode($file), $data );
         neu:			return file_put_contents( $file, $data );
__________________________________________
... oder sich die entsprechend geänderten Dateien herunterzuladen (Die Endung .txt bitte entfernen, musste ich nur anhängen, um die Datei ins Forum zu stellen) :)
 

Anhänge

  • extplorer4synology.zip.txt
    65,1 KB · Aufrufe: 110

Trolli

Benutzer
Mitglied seit
12. Juli 2007
Beiträge
9.848
Punkte für Reaktionen
0
Punkte
0
Funktioniert wunderbar - Vielen Dank!
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten, denn dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit einem hohen technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive oder Themen fremde Werbung. Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.