View Full Version : UTF-8 - Falscher Zeichensatz ?
saltletts
11-27-2007, 04:02 PM
Warum wird in dem phpLD-Script (oder seltsamerweise in vielen PHP-Scripten) eigentlich standardmäßig der Zeichensatz UTF-8 verwendet? Ich halte das für die falsche Wahl.
Ich habe diesen Zeichensatz bei mir auf ISO-8859-1 umgestellt, und zwar aus folgendem Grunde:
Wenn ich unter UTF-8 in irgendein Textfeld für nen Linkeintrag (Beschreibung, Anleser, METAs usw.) und sagen wir mal ne Vorgabe für die maximale Textlänge in Zeichen von 200 Zeichen habe, ich diese Vorgabe buchstabengenau ausnutze, also exakt 200 Zeichen eingebe (was ja eigentlich ok ist), dann wird der Text mit nem Fehler abgewiesen, dass ich die Vorgabe nicht einhalte.
Dies ist mir anfangs bei meinem eigenen Webkatalog passiert, und bei vielen anderen Webkatalogen hab ich mich beim Eintragen aus gleichem Grund geärgert weil ich den ganzen Mist nochmal machen muss, und am Kopf gekratzt habe, warum das wohl so ist, und obwohl bei der Echtzeit-Anzeige für die noch freie Anzahl Zeichen alles stimmt, bzw. 0 ist. Dasselbe konnte sogar passieren, wenn man 5-10 Zeichen weniger eingetragen hat als das Limit. Je nach Anzahl enthaltener Umlaute und Sonderzeichen.
Und dann hab ich mal in die Datenbank geschaut und dann war mir alles klar. Anstatt der Umlaute wie Ä,Ö,Ü und/oder Sonderzeichen werden diese umgeschrieben gespeichert, und verbrauchen pro Umlaut oder Sonderzeichen mehr Zeichen, als das für uns "visuell" dargestellt wird.
Wenn man ISO eingestellt hat, werden die Zeichen 1:1 in die Datenbank eingetragen, wodurch dann die Buchstabenzählung wieder exakt stimmt, und es zu keinem Ärgernis auf der Submit-Seite mehr kommt, wenn man die Vorgabe ganz oder annähernd ausschöpft.
Mir hat die Umstellung auf ISO nicht besonders geschadet, denn das war im Anfangsstadium schon. Wenn man das nach langer Zeit machen will, dann steht man theoretisch vor dem Problem, dass man die ganzen Inhalte korrigieren muss. Anstatt der umschriebenen Umlaute und Sonderzeichen eben 1:1. Da mit der alleinigen Script-Umstellung auf ISO dann natürlich die Umlaute und Sonderzeichen auch "visuell" falsch dargestellt werden.
Mit etwas Geschick kann man das per SQL-Export und mit der Suchen-Ersetzen-Funktion diverser Textverarbeitungsprogramme oder Tabellelkalkulationen "relativ leicht" korrigieren, ein Aufwand wirds aber allemal.
pragent
11-27-2007, 04:24 PM
Das ist bereits mehrfach behandelt wurden. Wir kennen die Probleme mit UTF-8 und ISO.
Deshalb sage ich immer, dass vor Installation die config.php und header.tpl jeweils abgeändertw erden sollte.
saltletts
11-27-2007, 04:33 PM
Content visible to registered users only.
Du "sagst" das, kann ja sein. Aber wer "fragt" dich vor einer Installation nach einem Problem, mit dem man überhaupt nicht rechnet (und wohl nicht kennt)?
Und dann gibts nach dem Download des Scriptes noch eine Datei namens: install.txt
Ok, hier könnte man sagen, wer sich die dort drin stehenden Hinweise nicht anguckt ist selbst schuld. Allerdings finde ich hier Null Hinweise auf dieses Zeichensatz-Problem, zumal die Hinweise eh auf englisch sind.
Und warum wird denn überhaupt erst von vornerein die UTF-8 Codierung festgelegt? Haben denn die Amis da nicht auch die gleichen Probs? Oder läuft dass da anders?
pragent
11-27-2007, 05:37 PM
Weil es ein amerikanisches Script ist und diese i.d.R. alle auf UTF-8 laufen?;)
saltletts
11-27-2007, 05:42 PM
Content visible to registered users only.
Tja, dann würde ich sagen, wirds einfach Zeit für ein grundsätzliches Anbieten einer downloadbaren "deutschen" Version. Denn es gibt ja noch mehr Dinge die "überarbeitet/übersetzt" werden müssen. Ich werfe da immer nen kleinen Blick auf WordPress, da funktioniert das sehr gut zwischenzeitlich....
Und "deutschsprachige" Interessenten sollte es mittlerweile auch genug geben, oder irre ich?:)
MikeK
11-28-2007, 11:57 PM
Wenn, dann ist eigentlich UTF-8 die Codierung der Wahl! Da damit eigentlich "alle" Schriftzeichen verarbeitet werden können.
Schau mal in Deine Datenbank. Wie ist der mySQL - Zeichensatz eingestellt? ISO? Dann ist dass das eigentliche Problem. Datenbank und Programme bzw. Dokumente sollten den gleichen Zeichensatz verwenden.
Ciao,
Mike
saltletts
11-29-2007, 09:36 AM
Content visible to registered users only.
Hab ich gemacht. Das Interessante ist, dass der mySQL-Datenbank-Zeichensatz auf UTF-8 eingestellt ist (ist wohl Standard-Einstellung)
Wenn ich mit dem phpLD Script arbeite, und lasse in den Scripten UTF-8 eingestellt, dann passiert genau das, was ich oben schon beschrieben habe.
Eben das aufgrund der Umschreibung der Umlaute und Sonderzeichen, werden mehr Zeichen in die Datenbank geschrieben, als ich tippe. Bei einer Begrenzung eines Eingabefeldes auf z.B. 500 Zeichen kann ich somit nicht wirklich 500 Zeichen eingeben, da es sonst zur Fehlermeldung kommt, dass meine Eingabe nicht im Toleranzbereich ist (also Minimum und Maximum der Zeichen), nach dem Absenden des Formulars, zeigt es dann auch schön an, um wieviele Zeichen ich im "Minus" bin, also wieviele zuviel sind. Weil es die Restanzeigen für noch verbleibende Zeichen entsprechend korrigiert.
Und das hängt dann eben von der Anzahl der verwendeten Sonderzeichen und Umlaute ab. Es ist so, ich erzähle hier keinen Quark. Ich habe mich in den letzten Wochen in viele Webkataloge eingetragen. Interessanterweise ist es mir bei so manchen Webkatalogen passiert, dass ich die Maximalgrenze an Zeichen grade so eingehalten habe, und eben auch diese Fehlermeldung kommt, was mich dann jedes Mal zum Fluchen bringt, weil ich laut Word-Buchstabenzählung (incl. Leerzeichen) die Zeichen einhalte. Und das stimmt exakt. Und wenn ich dann den letzten Satz streiche, dann nimmt es das an.
Ich bin mir allerdings nicht sicher, obs immer das phpLD Script ist, aber ich bin definitiv nicht alleine davon betroffen, soviel steht fest. Nur nutzt nicht jeder beim Eintragen die Maximalgrenze. Wenn man 10-20 Zeichen drunter bleibt, kanns schon reichen.
Nachdem ich (bei mir selbst) die Scripte auf ISO umgestellt habe (Datenbank nach wie vor auf UTF-8) passt das genau. Die Zeichen werden so in die Datenbank geschrieben, wie ich sie eintippe. Und somit stimmt die Zeichenzählung auf den Buchstaben genau. Wenn ich 500 Zeichen Maximum vorgebe, kann ich exakt 500 Zeichen eintragen....
MikeK
11-29-2007, 08:21 PM
Hm, dann fehlen mir im Moment leider die Ideen.
saltletts
11-30-2007, 08:22 AM
Content visible to registered users only.
Also für mich muss ja keine Lösung mehr gefunden werden. Ich hab sie selbst gefunden (letztendlich) Nur, gibt es sicher genug Leute, die noch weniger Ahnung haben wie ich, und auf ausreichende Anleitungen und Informationen angewiesen sind.
Aber der Punkt wird halt nirgendwo dokumentiert (ausser hier im Forum), aber in ein Forum schaut man normal erst dann, wenn man ein Problem hat, aber soweit dürfte es gar nicht erst kommen. Ich halte sehr viel von dem Begriff "Useability".
Deshalb meine ich ja, eigentlich gehört da einfach ne "deutsche Version" her. Wenn eine neue US-Version heraus kommt, dann muss kurze Zeit später die überarbeitete DE-Version zur Verfügung gestellt werden. Und dazu gehören dann auch Übersetzungen im "öffentlichen" Webkatalogbereich, und auch im Adminbereich.
Achja, schau mal in den Quellcode des Webkataloges vom phpld.de der hat auch den Zeichensatz ISO-8859-1 - Sicher nicht ohne Grund ;)
pragent
11-30-2007, 08:27 AM
Du hast Recht ... aber die meisten User sdchauen erst hier ins Forum und dann kaufen die das Script.
Nur hier im Forum kann man vorher nachlesen, was alles machbar ist.
Sobald die phpLD 3.3 startet, werde ich die deutsche Anleitung herausgeben.
Vorher hat das keinen Sinn.
saltletts
11-30-2007, 08:45 AM
Content visible to registered users only.
Gut, dass mit der deutschen Anleitung ist immerhin schon ein "Ansatz", wobei es aus meiner Sicht noch nicht die "perfekte" Lösung ist.
Natürlich verstehe ich ja, dass das mit dem Bereitstellen einer aufbereitete/überarbeiteten deutschen Version mit Arbeit verbunden ist, und die geschieht in solchen Fällen wohl eher ehrenamtlich. :D Der Aufwand ist halt besonders groß, wenn man das "erstmalig" anpackt.
Zukünftig würden diese Überarbeitungen viel geringer ausfallen, da ja mit jeder neuen Version kein völlig neues Script geliefert wird, sondern nur Teile davon überarbeitet sind. Und dann gibts da noch die Sprachdatei wo halt auch die de.php nur "bedingt" übersetzt wurde. Also auch noch nichts ganzes und nichts halbes.
Immerhin werde ich jetzt mit diesem Anliegen schon nicht mehr als "Nörgler" oder "Schlechtmacher" dargestellt. Ich meins auch eher nur gut. Das ist als konstruktive Kritik zu verstehen, und ich bezwecke nichts Bösartiges damit.;)
Es gibts sicher auch nichts perfektes, aber man sollte zumindest "versuchen" das beste daraus zu machen. Vielleicht denkt man ja zumindest drüber nach....
MikeK
11-30-2007, 07:39 PM
Dann fang doch einfach mal an!
Du hast nun gerade die Besten Erfahrungen gesammelt, auf was es bei einem "Neuling" ankommt. Wenn pragent die schreibt, dann tut er sich sicherlich schwer die wichtigen Punkte für einen Neueinsteiger herauszuarbeiten.
Ciao,
Mike
pragent
12-01-2007, 07:18 AM
Die wichtigsten Punkte sind:
1. geeigneten Hoster finden
2. vor Installation config.php und header.tpl UTF-8 mit ISO-8859-1 austauschen
3. Sprachdatei nach eigenen Wünschen bearbeiten /lang/de.php
4. message.tpl im Ordner /templates/admin/ nach eigenen Wünschen bearbeiten
Das sind so Dinge, die man zuerst machen sollte.
Alle anderen Dinge sind templateabhängig. Da kommt es natürlich immer darauf an, welche Wünsche man genau hat, um den Katalog weiter aufzubauen.
Wenn ein Update kommt, ist es meistens so, dass sehr viele Änderungen auf einen zukommen. Wer bereits Erfahrungen sammeln konnte, weiß, was ich meine.
Content visible to registered users only.
Es gibt immer Leute, die etwas auszusetzen haben. Ist auch richtig so. Aber es kommt immer auf den UNTERTON an, wie man seine Kritik äußert. Wenn es KEINE Probleme und Fehler geben würde, bräuchte man dieses Forum nicht. Daher ist es wichtig, dass jeder seine Erfahrungen hier beschreibt. Nur so können wir die Fehler analysieren und beheben.
Leider ist es so, dass einige User Ihre Lösungen hier nicht preisgeben. Das hat aber etwas mit der Mentalität der Deutschen zutun. Ich kann es auch mittlerweile verstehen.
saltletts
12-01-2007, 09:54 AM
Zeichensatz:
Ich glaube für die eMails muss man auch noch was ändern! War das nicht in der /include/functions.php ? (hatte ne Notiz, aber die kam irgendwie weg)
Sprache:
/lang/de.php - Die Datei ist aber nicht Template-abhängig. Ich meine, ist das nicht ineffektiv, wenn die jeder für sich ändert (ändern muss)? Vorallem hat auch nicht jeder Zeit dazu. Ich selbst aufgrund unternehmerischer Tätigkeit "eigentlich" auch nicht, aber bleibt einem ja nichts anderes übrig.
Ich habe bei mir noch lange nicht alles übersetzt, teilweise bin ich mir nicht mal sicher obs stimmt, weil mit Englisch tue ich mir etwas schwer (von meinen damaligen Schulkenntnissen ist zwar noch bisschen was übrig, aber hält sich in Grenzen). Vorallem bleibt einem nichts anderes übrig, als ein noch nicht übersetztes Wort mit der Maus zu kopieren, in im ACP in der Riesenliste danach zu suchen (natürlich mit STRG+F) und dann Wort für Wort umzusetzen.
Aber genau da meine müsste man den Punkt "Übersetzungen" ansetzen, und eine vollständig übersetzte de.php anbieten. In den meisten Templates werden ja die "Platzhalter" verwendet (oder weiß nicht wie man das genau nennt), allerdings nicht wirklich zu 100% für jede Textausgabe, wie man mit der Zeit erkennen wird, das ist schon richtig.
Ich finde von den bisher getesteten Webkatalog-Scripten das phpLD vorallem in der Version 3.2 das für mich brauchbarste, gerade aus Sicht der Suchmaschinenoptimierung, die Url-Umschreibung, da man die Metatags für jede einzelne Kategorie angebenen, das eMail-Benachrichtigungssystem finde ich sehr klasse, weil man hier für jede Aktion eigene Templates anlegen kann und selbst viel gestalten kann, auch über die einsetzbaren Variablen.
Ich habe auch Riesen-Respekt vor den Leuten, die solche komplexe Scripte erschaffen können, denn da gehört ungeheure Kenntnis dazu, bzw. das man nicht den Überblick verliert bei der Vielzahl an Einzelscripten und Elementen die ja teilweise noch kreuz und quer ineinander greifen müssen, damit alles funktioniert. Und das man weiß, wo genau man was ändern muss, damit sich das und das dort und so auswirkt. Faszinierend.
Allerdings bin ich der Meinung, dass man beim phpLD ein bisschen die systematische Ordnung verloren hat. Und die ist leider auch nicht ganz unwichtig. Vorallem, je mehr sich das Projekt weiter entwickeln soll, desto mehr kann das dann einen behindern, wenn man das nicht von Anfang an konsequent und sauber durchzieht.
Es wirkt halt so, ok man hat die neue Version entwickelt, oder weiter entwickelt, hat zumindest angefangen Funktionen oder grade die Sache mit den Übersetzungen teilweise zu machen, um beim Rest denkt man sich, ok soll dann halt jeder für sich selbst weiter machen wer er es für nötig hält. Also so, als stände man unter Zeitdruck, will das Ding unbedingt veröffentlichen, ist aber eigentlich noch gar nicht so wirklich fertig. Aber schließlich will man sich ja mal wieder was neues bieten.
Ungefähr so, wie wenn ein Autohersteller ein neues Modell entworfen hat, die Karosserie und die Fahrtechnik ist ausgearbeitet, beim Cockpit und beim Lenkrad ist man sich aber noch unsicher wie es letztendlich werden soll. Soll der Käufer doch entscheiden und sich sein eigenes Lenkrad in der Größe, Farbe und Griffigkeit bei ATU oder eBay kaufen, wie er es haben will.
:cool:
vBulletin® v3.8.0, Copyright ©2000-2012, Jelsoft Enterprises Ltd.