SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQL

MySQL Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQL diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 12.10.2013, 17:20:55
Bubbleman Bubbleman ist offline
Anfänger
 
Registriert seit: Oct 2013
Alter: 44
Beiträge: 5
Zellenwert wird nicht erkannt und dann doch

Hallo

Habe mich hier eigens in der Hoffnung auf Lösung meines Problems angemeldet.
Falls der Topictitel unpassend ist, bitte ändern.

Ich bin gerade dabei für unsere örtliche Bücherei eine webbasierte Bibliothekssoftware einzurichten.
Senayan
Grundsätzlich läuft das rund.
Die Bücher (>1700) lese ich mit einem lokalen Programm (Citavi) ein (Barcodescanner), lasse sie darin um die Angaben wie Titel, Autor, Cover etc. automatisch ergänzen, exportiere die Daten als csv, mache in Excel ein paar Anpassungen und importiere dann über das Backend von Senayan in die MySQL Datenbank.
Grundsätzlich klappt auch das, bis auf ein hartnäckiges Problem.
Durch Citavi (s.o.) werden die Buchcover in ein separates Verzeichnis abgelegt. Diese lade ich per ftp in das entsprechende Verzeichnis auf den Server.
In der MySQL Datenbank (und in der csv) steht in einer Spalte der Dateiname des Buchcovers. Alles korrekt.
Nur erkennt Senayan das nicht und zeigt ein Dummy-Bild an, obwohl alle anderen Daten aus der gleichen Tabelle korrekt angezeigt werden.

Wenn ich nun auf meiner lokalen Platte oder aus dem Serververzeichnis einen Dateinamen einer Bilddatei markiere und kopiere und dann über phpMyAdmin in die entsprechende Zelle hineinkopiere, dann wird dieser Eintrag richtig erkannt und das Buchover im Frontend angezeigt.
Obwohl die Zeichenfolge exakt (!) die gleiche ist wie vor dem Kopieren&Einfügen. Da ist kein Leerzeichen, kein Komma oder irgentwas anders, zuviel oder zuwenig.
Im Grunde steht nichts anderes in der Zelle drin als vorher.
Wenn ich in phpMyAdmin den Inhalt der Zelle markeire, ausschneide und in die gleiche Zelle wieder einfüge, ändert sich nichts. Sprich das Bild wird weiterhin nicht angezeigt.

Ich bin nun wahrlich kein Experte was php oder MySQL angeht, nur ein "mutiger Bediener". Jedoch glaube ich nicht an einen Fehler im Programmcode von Senayan, denn ich operiere ja direkt in der Datenbank. Auch wenn ich aus dem Backend von Senayan ein Cover für einen bestimmten Titel hochlade, wird dieses richtig angezeigt obwohl wiederrum nichts anderes in der Tabellenzelle drinsteht als unmittelbar nach dem csv-Import.

Ich könnte mir allenfalls vorstellen, dass es noch ein Problem mit der Zeichenkodierung sein könnte. Darstellungsfehler (Umlaute o.ä.) gibt es jedoch nicht.
Die Datenbank steht auf UTF-8.
Ich habe die Tabelle auch schon über phpMyAdmin exportiert. Lokal geöffnet (zB Notepad++) und keinerlei Auffälligkeiten festgestellt. Zeichenkodierung wird hier auch mit UTF-8 ohne BOM angegeben. Wieder importiert über phpMyAdmin. Gleiches Ergebnis. Auch eine Änderung in Notepad++ auf zB "nur" UTF-8 und Import hat nichts ergeben.

Ich kann unmöglich für über 1700 Buch-/Tabelleneinträge die Coverdaten manuell eingeben.

Ich bin ratlos. Wer kann helfen.
Mit Zitat antworten
  #2  
Alt 12.10.2013, 20:11:32
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.665
AW: Zellenwert wird nicht erkannt und dann doch

Hallo und willkommen hier im Forum.

Hast Du schon mal hier Dein Problem vorgetragen. Glaube kaum das hier im Forum jemand die (fremde) Software kennt.


PS: Kann man sich irgendwo ansehen?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 12.10.2013, 20:47:43
Bubbleman Bubbleman ist offline
Anfänger
 
Registriert seit: Oct 2013
Alter: 44
Beiträge: 5
AW: Zellenwert wird nicht erkannt und dann doch

Hallo

Wie gesagt ist das kein Problem der Software, denn ich bin durch Zufall einen Schritt weiter gekommen.

Ich habe festgestellt, dass die Bindestriche in der Exceldatei mitunter gar keine Bindestriche sind: "Kerr 2000 – Das Wittgenstein-Programm" sonder gedankenstriche oder was auch immer. "Suchen und Ersetzen" half hier massiv weiter.
In den Dateinamen sind es "echte Bindestriche" oder Minuszeichen in der Exel und somit auch in der CSV eben diese anderen Zeichen.
Daher konnte Senayan die Cover auch nicht finden, da in der Datenbank ja die "falschen" Einträge waren.
Jetzt hapert es noch bei Titeln mit Umlauten. Für heute habe ich aber keinen Bock mehr weiter zu suchen.

Vielleicht kann mir aber jemand in der Zwischenzeit folgendes beantworten damit ich morgen weitermachen kann:

In phpMyAdmin kann ich ja alle möglichen Kollationen anwählen.
UTF-8 scheint die richtige zu sein. Nur gibt es da ja viele Untergruppen (zB UTF8_gereral_ci)
Welche ist denn "die richtige" wenn es eine solche gibt.
Ich nehme an die Zeichencodierung sollte die gleiche sein wie die der zu importierenden csv. Dort kann ich beim Export aber nur zwischen "Unicode" und "Unicode UTF-8" wählen.
Ich denke, dass das Problem bei der Nichterkennung mancher Titel in der falschen Verarbeitung der Umlaute liegt.


PS: Der von dir genannte Link führt zum Forum, dass leider in Indonesisch geführt ist. Die Software ist echt gut, habe zahlreiche Programme getestet. Leider in unserem "gebräuchlichen" Sprachraum fast nicht verbreitet.
Mit Zitat antworten
  #4  
Alt 13.10.2013, 21:30:53
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Zellenwert wird nicht erkannt und dann doch

Hi,

Zitat:
In den Dateinamen sind es "echte Bindestriche"
Warum müssen denn im Dateinamen Bindestriche und keine Unterstriche sein?

MfG

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #5  
Alt 13.10.2013, 23:40:06
Bubbleman Bubbleman ist offline
Anfänger
 
Registriert seit: Oct 2013
Alter: 44
Beiträge: 5
AW: Zellenwert wird nicht erkannt und dann doch

Hallo

in den Dateinnamen "müssen" keine Bindestriche sein. Die Dateinamen werden so von Citavi (s.o.) erzeugt. Optisch waren die Striche einfach nicht zu unterscheiden, ob es nun Bindestriche/Minuszeichen sind oder Gedankenstriche.
Das ist aber auch kein Problem mehr. Nachdem ich mit "Suchen&Ersetzen" in Excel gearbeitet habe. Was jetzt noch übrig ist, sind Dateinamen mit Umlauten drin.
Diese werden nicht erkannt wenn sie in der csv stehen, die ich über die csv-Importfunktionden im Adminbereich von Senayan imoprtiere.

Wenn ich in phpMyAdmin in die betreffende Tabellenzelle den Coverdateinamen per copy&paste einfüge wird die Datei erkennt.
Wenn ich die Datei im Adminbereich importiere indem ich in die Eingabemaske des Buches gehe und dort über die "Bilddatei hinzufügen" einen upload mache wird die Datei erkannt.
Nur über den csv Import nicht.
Und das obwohl in der Tabellenzelle immer genau das gleiche drinsteht.

Hier noch ein Hinweis:

So sieht die URL eines Bildes dessen Dateinname Umlaute enthält aus, wenn die Datei richtig angezeigt wird, sprich wenn ich über"Bilddatei hinzufügen" gegangen bin:
Zitat:
http://meinedomain.de/lib/phpthumb/p..../images/docs/Coulter_2000_-_Wo_dich_keiner_h%C3%B6rt.jpg&w=200
Dateinname: Coulter_2000_-_Wo_dich_keiner_hört.jpg

Wenn es um eine Datei mit Umlauten geht, die über den csv Import in die richtige Tabellenzelle gelangt ist, passiert folgendes wenn ich Rechtsklick-> Grafik anzeigen auf die Stelle mache wo eigentlich das Bild auf der Seite sein sollte:


Zitat:
Warning: getimagesize(../../images/docs/Buckley_2000_-_Kleine_grüne_Männchen.jpg) [function.getimagesize]: failed to open stream: No such file or directory in /www/htdocs/w00f25f5/webopac/lib/phpthumb/phpThumb.php on line 37

Fatal error: Uncaught exception 'Exception' with message 'Image file not found: ../../images/docs/Buckley_2000_-_Kleine_grüne_Männchen.jpg' in /www/htdocs/w00f25f5/webopac/lib/phpthumb/ThumbBase.inc.php:193 Stack trace: #0 /www/htdocs/w00f25f5/webopac/lib/phpthumb/ThumbBase.inc.php(172): ThumbBase->triggerError('Image file not ...') #1 /www/htdocs/w00f25f5/webopac/lib/phpthumb/ThumbBase.inc.php(110): ThumbBase->fileExistsAndReadable() #2 /www/htdocs/w00f25f5/webopac/lib/phpthumb/GdThumb.inc.php(96): ThumbBase->__construct('../../images/do...', false) #3 /www/htdocs/w00f25f5/webopac/lib/phpthumb/ThumbLib.inc.php(127): GdThumb->__construct('../../images/do...', Array, false) #4 /www/htdocs/w00f25f5/webopac/lib/phpthumb/phpThumb.php(60): PhpThumbFactory::create('../../images/do...') #5 {main} thrown in /www/htdocs/w00f25f5/webopac/lib/phpthumb/ThumbBase.inc.php on line 193
Dateiname: Buckley_2000_-_Kleine_grüne_Männchen.jpg

Und wenn ich jetzt hingehe und für das Buch im Adminbereich das Cover via "Bilddatei hinzufügen" und mir dann die Adresse zu der dann korrekt angezeigten Grafik geben lasse, dann lautet sie:
Zitat:
http://meinedomain.de/lib/phpthumb/phpThumb.php?src=../../images/docs/[/url]Buckley_2000_-_Kleine_gr%C3%BCne_M%C3%A4nnchen.jpg&w=200
Geht nicht--> Buckley_2000_-_Kleine_grüne_Männchen.jpg
Geht--------> Buckley_2000_-_Kleine_gr%C3%BCne_M%C3%A4nnchen.jpg

Die Umlaute werden in den beiden Fällen unterschiedlich verarbeitet. Kein Wunder, dass nach dem Auslesen des Dateinamens aus der Tabelle betreffende Datei nicht gefunden wird

Wo könnte der Wurm drin sein?
Mit Zitat antworten
  #6  
Alt 14.10.2013, 06:21:01
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Zellenwert wird nicht erkannt und dann doch

Hi,

Zitat:
Ich denke, dass das Problem bei der Nichterkennung mancher Titel in der falschen Verarbeitung der Umlaute liegt
Zitat:
üne_Mä
das ist definitiv ein Charset problem.

Wie sieht der Dateiname aus nach dem CSV import (in pma)?

MfG

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #7  
Alt 14.10.2013, 21:12:59
Bubbleman Bubbleman ist offline
Anfänger
 
Registriert seit: Oct 2013
Alter: 44
Beiträge: 5
AW: Zellenwert wird nicht erkannt und dann doch

Hallo

Was meinst du mit "in pma"?
Zitat:
Wie sieht der Dateiname aus nach dem CSV import (in pma)?
Um bei dem Beispiel zu bleiben:
In der Tabellenzelle steht: Buckley_2000_-_Kleine_grüne_Männchen.jpg, und zwar genau so.
Ich denke auch, dass es ein Charsetproblem ist. Bloß an welcher Stelle...?

Vielleicht nochmal mein Workflow.
Export aus Citavi als xls
Import in OpenOffice. (OO deshalb, weil man dort, im Gegensatz zu Excel, die Zeichen für "Feldtrenner" und "Textrenner" beim csv Export frei vergeben kann.)
Bearbeitung von Zellinhalten.
Export als csv, Zeichencodierung Unicode UTF8
Import der csv (incl. der dort beinhalteten Dateinamen der .jpg) über den Adminbereich/Backend von Senayan in die Datenbank.

Auf der Homepage werden alle Zeichen und Umlaute, die ja auch in den Buchtiteln enthalten sind, richtig angezeigt. Lediglich in der URL des Bildabrufs (s.u.) werden die Umlaute falsch angezeigt.

In der Tabellenzelle der Datenbank steht genau: Buckley_2000_-_Kleine_grüne_Männchen.jpg
Siehe Screenshot1

Wenn ich nun den Dateititel auf meiner lokalen Platte markiere, kopiere und in phpmyAdmin in die Tabellenzelle einfüge, steht da nichts anderes drin als vorher. Nun wird der Inhalt der Zelle aber richtig interpretiert und das Cover angezeigt. Siehe unten. Wie kann das sein? Von den Manipulationen direkt in der Datenbank kann Senayan ja nun nichts "mitkriegen". Von daher kann es kein grundsätzliches Importproblem der Software sein, denke ich.

Wenn ich mir die aus OO exportierte csv in Notepad++ ansehe wird "UTF8 mit BOM" angezeigt. Eine Konvertierung in UTF8 ohne BOM führt zum gleichen Endergebnis.

Was ich mich noch frage ist, in wie weit das mit dem Zeichensatz und nicht (nur) mit der Zeichencodierung zu haben kann. Falls das eine Relevanz hat.

...?

PS: Ich habe mal die betreffende Tabelle exportiert und hier als Anhang eingefügt. Vielleicht hilft es was.

PPS: Auch wenn ich nach Export die Tabelle lösche und die exportierte Datei wieder importiere habe ich das gleiche Problem. Wie kann das sein
Miniaturansicht angehängter Grafiken
db1.jpg  
Angehängte Dateien
Dateityp: zip biblio.zip (47,1 KB, 2x aufgerufen)

Geändert von Bubbleman (14.10.2013 um 21:32:26 Uhr)
Mit Zitat antworten
  #8  
Alt 15.10.2013, 16:50:12
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.665
AW: Zellenwert wird nicht erkannt und dann doch

Zitat:
Zitat von Bubbleman Beitrag anzeigen
Was meinst du mit "in pma"?
phpMyAdmin - lt. Screenshot nutzt Du ihn ja bereits ...
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #9  
Alt 15.10.2013, 23:37:03
Bubbleman Bubbleman ist offline
Anfänger
 
Registriert seit: Oct 2013
Alter: 44
Beiträge: 5
AW: Zellenwert wird nicht erkannt und dann doch

Hallo

Aaaaah: pma= phpmyadmin

Hier nochmal zwei Datein, wenn es weiterhelfen sollte.
biblio.zip enthält die aus pma exportierte Tabelle im sql Format (die gleiche wie in meinem letzten Posting)
import.zip enthält die aus OpenOffice exportierte csv Datei wie ich sie in Senayan importiere.

Vielleicht kann die sich ja jemand mal hinsichtlich Zeichencodierung und Sonstigen ansehen ob da was auffällt.
Danke.
Angehängte Dateien
Dateityp: zip biblio.zip (47,1 KB, 0x aufgerufen)
Dateityp: zip import.zip (45,6 KB, 1x aufgerufen)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Konstanten werden nicht mehr erkannt theo_deluxe PHP Grundlagen 6 20.01.2009 22:53:03
E-Mail als Spam erkannt key323 PHP für Fortgeschrittene und Experten 2 20.05.2008 07:38:33
warum wird der ordner nicht erkannt? claud PHP Grundlagen 2 20.08.2006 12:33:58
Globale Variable wird nicht erkannt... mzah_ PHP für Fortgeschrittene und Experten 1 16.04.2004 10:48:33
PHP wird in HTML Abschnitten/Dateien nicht erkannt Elderwolf PHP Grundlagen 6 09.04.2004 14:53:43


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:26:42 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.


© 2001-2019 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt