ERLEDIGT
NEIN
NEIN
ANTWORTEN
17
17
ZUGRIFFE
778
778
EMPFEHLEN
-
12.10.08 10:46 #1
Hallo zusammen,
folgende kleine Geschichte habe ich. Ich arbeite zur Zeit an einer kleinen "Seite" mit u.a. Datenbank aber das soll eigentlich nicht das Thema sein
Wenn ich einen Suchbegriff im Formular eingebe, auf Absenden klicke kommt die Eregebnisseite auf welcher steht "Kein Eintrag zu deiner Suche nach süd gefunden"
Kennt jemand Abhilfe? Der Charset steht schon mit voller Absicht auf "iso-8859-15, utf-8"
Gruß
Dennis
-
12.10.08 11:03 #2
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
12.10.08 11:08 #3Maik Tutorials.de Gastzugang
Hi,
bei zwei unterschiedlichen Charsets stimmt wohl die Zeichenkodierung in der DB und der Ausgabe des Webservers an die Dokumente nicht überein, mit einer einheitlichen UTF-8-Zeichenkodierung sollte es eigentlich keine derartigen Ausgaben geben.
Ansonsten schau dir mal htmlspecialchars(), htmlentities() oder utf8_encode(), utf8_decode() an.
mfg Maik
-
12.10.08 11:18 #4
Genau das ist das kuriose.
Ich hab die Datenbank mit diversen Informationen gefüllt. Wenn ich den charset auf den Seiten auch auf den Ergebnisseiten auf utf-8 lasse, werden die Ergebnisse in denen Umlauten vorkommen falsch dargestellt. Mit dem was ich eingegeben habe, werden die Ergebnisse richtig dargestellt.
Dann muss ich noch zusehen das ich die Umlaute im HTML Code nicht als ä usw schreibe. Das ist ein totales durcheinander.
Wenn ich es als utf-8 lasse werden die Infos aus der DB nicht richtig ausgegeben. In der DB MUSS ich alles als latin1_general_ci machen sonst stehen die Umlaute in der DB falsch...
-
12.10.08 11:28 #5
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
ich verstehe nicht ganz. Wenn die DB auf ISO-Latin steht, musst Du auch Latin ausgeben, es sei denn Du kodierst vor der Ausgabe um (aber wozu...). Zeig doch mal ein bischen Code.
LGDa es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
12.10.08 11:33 #6Maik Tutorials.de Gastzugang
-
12.10.08 11:46 #7
Viel Code hab ich diesbezüglich ja nicht...
Hab nochmal alles durchgeschaut. Alle Daten in der DB sind als latin1_general_ci drin. Alles andere funktioniert nicht.
Alle Seiten, egal ob Sie auf die Datenbank zugreifen oder nicht haben grundsätzlich utf-8
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Mit dieser Variante wird alles ohne Probleme dargestellt, es sei denn ich mach ne DB Abfrage dann werden die Ergebnisse falsch dargestellt, welche in der DB aber richtig sind z.B. Düsseldorf.
Wenn ich nun den charset ändere, werden die Ergebnisse richtig dargestellt aber nicht mehr der reine Text auf der Seite!
Gruß
-
Was du dir schon mal merken kannst, ist, dass du am besten durchgehend (von der Eingabe über die Verarbeitung bis zur Ausgabe) mit nur einer Kodierung arbeiten solltest. Hier empfehle ich dir UTF-8, da mit dieser sämtliche Unicode-Zeichen kodiert werden können.
Dabei gibt es allerdings ein paar Fallstricke. Etwa dass die Kodierung im HTTP-Header angegeben werden sollte und nicht erst im Dokument selbst.Markus Wulftange
-
12.10.08 12:02 #9
Ok das ist mir eigentlich klar, nur hab ich halt das Problem wenn ich in der DB ut-8 nutzen sollte passiert das was ich beschrieben hatte sprich Entweder stehen die Infos in der DB falsch drin bzw. werden abgeschnitten.
-
12.10.08 12:06 #10Maik Tutorials.de Gastzugang
Aus meinen beiden Beiträgen und Gumbos Tipps hast du eigentlich schon das Handwerkszeug beisammen.
mfg Maik
-
Bei der Datenbank müssen auch die Daten selbst konvertiert werden.
Markus Wulftange
-
12.10.08 12:14 #12
Also irgendwie Blick ich nicht ganz durch...
Wenn ich die DB auf utf-8 umstelle wie bekomm ich dann die Daten richtig angezeigt in der Ergebnisseite?
-
Das hängt davon ab, mit welcher Kodierung die Daten tatsächlich kodiert sind und mit welcher Kodierung sie ausgeliefert werden. Und ob dann auch noch die richtigen Ergebnisse sind, ist dann auch noch nicht gewährleistet, da diese wiederum von der Kodierung der Suchanfrage abhängt.
Das Ganze ist sicherlich kompliziert, da häufig die grundlegenden Begriffe wie Zeichen, Zeichensatz und Zeichenkodierung nicht klar sind beziehungsweise verwechselt werden. Hier kann dir Michael Jendryschiks Kapitel über Zeichenkodierung hoffentlich weiterhelfen.Markus Wulftange
-
12.10.08 12:29 #14
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
na ja, das wäre in seinem Fall dann utf8 -> ISO-Latin. Wenn die Eingabe dann Zeichen enthält, die in ISO-Latin gar nicht dargestellt werden können...
Ich würde gar nicht umkodieren, sondern immer eine durchgängige Kodierung verwenden.
Dennis: Wenn Du überall die gleiche Kodierung verwendest, dürfte es keine Anzeigeprobleme geben.
- Stell Deine Datenbankverbindung auf UTF-8 (SET NAMES)
- Speichere Deine Scripte und Seiten in UTF-8
- Versehe Deine Formulare mit einem accept-charset-Attribut
- Sende in Deinen Scripten einen Content-Type-Header
LGDa es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
12.10.08 12:32 #15
Ja aber wenn ich meine Daten in der DB als utf-8 einfüge werden die Umlaute gekillt... Ich importiere stinknormale CSV Dateien. Das ist ja das Problem!
Ähnliche Themen
-
Umlaute
Von Kalma im Forum Coders TalkAntworten: 26Letzter Beitrag: 04.06.09, 23:15 -
Umlaute und €
Von wachteldonk im Forum PHPAntworten: 8Letzter Beitrag: 23.12.07, 19:22 -
Umlaute
Von GoldenEye im Forum PHPAntworten: 19Letzter Beitrag: 12.11.06, 11:55 -
nochmal batch :( Wie kann ich umlaute in datein speichern ?
Von Daemonic im Forum Sonstige SprachenAntworten: 1Letzter Beitrag: 22.09.05, 16:11 -
Umlaute
Von Visu1 im Forum Office-AnwendungenAntworten: 5Letzter Beitrag: 02.06.04, 16:28






Login





