umlaute bei dgssearch
Hallo,
setze dgssearch als Suchmaschine auf meiner website ein. Habe das Problem, das die Umlaute bei suchen nicht gefunden werden, obwohl ich als Sprache German eingestellt habe. Z.B.: Suchanfrage: Geländer Die Suche nach 'geländer' f�hrte zu keinen Ergebnissen. Danke für eure Hilfe. |
AW: umlaute bei dgssearch
Zitat:
Zitat:
|
AW: umlaute bei dgssearch
Zitat:
Ich habe das Problem bei einer Datenbankabfrage: 1. Absetzen des Query -> OK 2. Antwort der Datenbank -> OK 3. Wenn KEIN Umlaut im Ergebnis -> OK Wenn Umlaut im Ergebnis -> Wert = {null} Die Umlaute werden also nicht durch irgendwelche Zeichen ersetzt, sonder tatsächlich durch ein "Null" Hoffe Ihr könnt mir nen Tip geben... |
AW: umlaute bei dgssearch
Zitat:
So, wies aussieht, sind die Umlaute möglicherweise schon, weil abweichend von der Tabellen- oder Stalten-Collation, fehlerhaft kodiert in der Tabelle gelandet sind. MySQL verhält sich da korrekt, wenn es unbekannte Zeichen durch ein Fragezeichen ersetzt. Nächste Frage ist das Suchormular: welcher Zeichensatz ist dort angebenen? Der Browser kodiert dann die Umlaute wunschgemäß. Steht dort zB. UTF-8, Deine Tabelle aber (zum Bleistift) aber als Latin-1, dann hast Du ein Problem und viel Arbeit. |
AW: umlaute bei dgssearch
Also vielen Dank erstmal für die Antwort.
Ich habe folgendes getan: Eingefügt im Formular im head-bereich: <meta http-equiv="content-type" content="text/html;" charset="UTF-8"> Eingefügt in der PHP-Datei: <meta http-equiv="content-type" content="text/html;" charset="UTF-8"> Datenbank: MySQL-Client-Version: 5.0.67 MySQL-Zeichensatz: UTF-8 Unicode (utf8) Tabelle: Kollation latin1_swedish_ci Wenn ich in der Tabelle das Feld "Ort" die Kollation von latin1_swedish_ci auf utf8_unicode_ci stelle passiert nichts. Es wird also bei einer Suchanfrage nach Berlin auch die Treffer von Berlin angezeigt. Bei der Suche nach München -> Null Was muss ich tun? |
AW: umlaute bei dgssearch
Zitat:
In Deinem Script solltest Du 1. die mysqli Extension nutzen 2. mit dieser Funktion bzw. Methode http://php.net/manual/de/mysqli.set-charset.php Zitat:
Bezüglich der "HTML Lieferung" findest Du da http://www.gerd-riesselmann.de/softw...f-8-ausliefern auch noch einige Hinweise. Zitat:
Da Du aber ein (mir unbekanntes) Fremdscript nutzt, mußt Du auch dort nachgucken, wo und wie Du den Zeichensatz für Formular und Datenbank einstellen kannst. Hinweis: nutze die mysqli Extension mysql (ohne i) ist ein Auslaufmodell, welches ab PHP 5.5 als depraced notiert ist. Aktuell ist PHP 5.4.10. |
AW: umlaute bei dgssearch
[QUOTE=meikel;144229]Für die Suche nach Texten mit UTF-8 Zeichensatz benötigst Du utf8_general_ci für die Tabelle und die varchar bzw. text Spalten. Allerdings hast Du ein Problem, wenn die Tabelle schon existiert, weil MySQL beim Ändern der Collation die Inhalte nicht konvertiert. Falls die Inhalte schon (was ich nicht ausschließe) falsch in der Tabelle vorliegen - also mit nem ? anstelle des Umlautes oder sonstigen ASCII "Sonderzeichen", mußt Du den Kram mehr oder weniger mühsam korrigieren.
Hallo, ich habe mal eine neue (identische) Tabelle angelegt. Außer die Kollation mit utf8_general_ci eingerichtet und die Spalten Varchar. Dann habe ich den Inhalt - hier orte-deutschland.csv mit notepad (Ich weiß nicht wie ich bei Phase 5 die codierung einstelle) abgespeichert (codierung utf8) hochgeladen und... München -> NULL Berlin -> Ergebnisse Also Datenbank: utf8 Tabelle: utf8_general_ci orte-finden.php: <meta http-equiv="content-type" content="text/html;" charset="UTF-8"> orte-finden.php: mit notepad: codierung utf8 gespeichert und hochgeladen orte-deutschland.csv mit notepad: codierung utf8 gespeichert und in Tabelle hochgeladen Das alles hat mit dgssearch nichts zu tun, sondern ist ein script, dass ich selbst geschrieben habe. dgssearch ist eine Volltextsuche und habe ich praktisch nebenher. Aber auch dort ist das gleiche Problem. Weder bei meinem Script noch bei dgssearch kommt ein Ergebnis bei Umlauten. Mein Script ganz normal: include("dbconnect.php"); $abfrage = "SELECT * FROM `orte-deutschland-02` WHERE ort LIKE '$ort' ORDER BY 'id' "; $ergebnis = mysql_query($abfrage); $treffer=0; while ($row = mysql_fetch_array($ergebnis)) { $treffer=1; ... u.s.w. Beide Scripte liefen bis vor kurzem einwandfrei (seit mehreren Jahren). Auf Anfrage bei meinem Anbieter kam folgendes: "an der Konfiguration des Webservers und der Datenbank hat sich auf dem Server ****** nichts geändert. Wahrscheinlich sind bei Ihnen einige Datensätze in der Datenbank im "UTF-8" Zeichensatz gespeichert während ihre Website in "ISO 8859-1" als Zeichenkodierung verwendet. Dadurch können bei der Ausgabe von Umlauten und anderen Sonderzeichen diese Zeichen entstehen. " Weiß nicht weiter |
AW: umlaute bei dgssearch
Oh WOW nun hab ich`s.
Es liegt an phase 5. Ich habe noch meine index.htm mit notepad in utf8 hochgeladen und es klappt. Jetzt muss ich nur noch wissen wie ich phase 5 beibringe, dass die Dateien in utf8 abgespeichert werden. VIELEN DANK |
AW: umlaute bei dgssearch
Zitat:
Zitat:
http://de.wikipedia.org/wiki/Byte_Order_Mark Sonst heißt die nächste Frage: "Wo kommen denn die komischen Zeichen '' her und wie geht das wieder weg?" Zitat:
|
AW: umlaute bei dgssearch
Das ganz normale Windows Notepad.
Gibt die Möglichkeit Daten in utf8 abzuspeichern. Laut Forum ist Phase 5 nicht in der Lage in utf8 abzuspeichern. Also denkbar ungeeignet für den Umgang mit Umlauten. Danke nochmal |
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:48:12 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.