Shadow1701
Ensign
- Registriert
- Juli 2012
- Beiträge
- 225
Guten Abend
ich bin ein Chaot und habe es mit der Zeichencodierung in meiner mit PHP erstellen Film- und Seriendatenbank nicht so genau genommen. Was immer wieder zu Problemen geführt hat. Anstatt das Problem zu behandeln habe ich die Sympthome behandelt. Nicht gut.
Heute jedenfalls habe ich alles auf UTF8 umgestellt. Die Datenbank und sämtliche Templates. Funktioniert auch alles bzw. ist mir klar wie die noch anstehenden Probleme zu lösen sind, bis auf eine einzige Ausnahme, ich kann die Dateigröße von Dateien welche einen Umlaut enthalten nicht in Erfahrung bringen. Da die Dateien teilweise recht groß sind (.ts Aufnahmen von einem engima2 Receiver) reicht filesize() nicht aus.
Also mache ich es so:
Diese drei Zeilen sind die Zeilen 1947,1948 und 1949 in der "functions.php"
Wenn jetzt wie gesagt im Dateinamen $filename ein Umlaut vorkommt, passiert das hier:
Hier fällt mir nichts ein wie ich das hinbekomme.
Funktioniert hat es, solange in der PHP.ini das hier stand:
jetzt steht hier aber:
und das soll auch so bleiben da es mehr Probleme löst als schafft.
Wie bekomme ich das hin?
Schönen Samstag Abend euch allen.
Un wiedereinmal kommt die Erleuchtung kurz nachdem ich das Problem niedergeschrieben habe. Und einfach ist es auch noch.
Das hier funktioniert:
Es ist einfach schon spät.
ich bin ein Chaot und habe es mit der Zeichencodierung in meiner mit PHP erstellen Film- und Seriendatenbank nicht so genau genommen. Was immer wieder zu Problemen geführt hat. Anstatt das Problem zu behandeln habe ich die Sympthome behandelt. Nicht gut.
Heute jedenfalls habe ich alles auf UTF8 umgestellt. Die Datenbank und sämtliche Templates. Funktioniert auch alles bzw. ist mir klar wie die noch anstehenden Probleme zu lösen sind, bis auf eine einzige Ausnahme, ich kann die Dateigröße von Dateien welche einen Umlaut enthalten nicht in Erfahrung bringen. Da die Dateien teilweise recht groß sind (.ts Aufnahmen von einem engima2 Receiver) reicht filesize() nicht aus.
Also mache ich es so:
Code:
$filesystem = new COM('Scripting.FileSystemObject');
$file = $filesystem->GetFile($filename);
$size = $file->Size();
Diese drei Zeilen sind die Zeilen 1947,1948 und 1949 in der "functions.php"
Wenn jetzt wie gesagt im Dateinamen $filename ein Umlaut vorkommt, passiert das hier:
Code:
Fatal error: Uncaught com_exception: <b>Source:</b> Unknown<br/><b>Description:</b> Unknown in E:\media2\lib\functions.php:1948 Stack trace: #0 E:\media2\lib\functions.php(1948): com->GetFile('F:\\Media Datenb...') #1 E:\media2\lib\functions.php(1326): fsize('F:\\Media Datenb...') #2 E:\media2\addfiles.php(100): listRecords(218, 'F:\\Media Datenb...', Array, 2, 'local', 1) #3 {main} thrown in E:\media2\lib\functions.php on line 1948
Hier fällt mir nichts ein wie ich das hinbekomme.
Funktioniert hat es, solange in der PHP.ini das hier stand:
Code:
default_charset="iso-8859-1"
Code:
default_charset="UTF-8"
Wie bekomme ich das hin?
Schönen Samstag Abend euch allen.
Ergänzung ()
Un wiedereinmal kommt die Erleuchtung kurz nachdem ich das Problem niedergeschrieben habe. Und einfach ist es auch noch.
Das hier funktioniert:
Code:
function fsize($filename) {
$filename=utf8_decode($filename);
$filesystem = new COM('Scripting.FileSystemObject');
$file = $filesystem->GetFile($filename);
$size = $file->Size();
return $size;
}
Es ist einfach schon spät.
Zuletzt bearbeitet: