Einzelnen Beitrag anzeigen
  #6  
Alt 11.01.2013, 14:49:12
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: umlaute bei dgssearch

Zitat:
Zitat von nordy46 Beitrag anzeigen
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
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.

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:
mysqli::set_charset -- mysqli_set_charset — Sets the default client character set
den default Zeichensatz vor dem ersten Query auf 'utf8' setzen.

Bezüglich der "HTML Lieferung" findest Du da
http://www.gerd-riesselmann.de/softw...f-8-ausliefern
auch noch einige Hinweise.

Zitat:
Es wird also bei einer Suchanfrage nach Berlin auch die Treffer von Berlin angezeigt. Bei der Suche nach München -> Null
Wenn in der Datenbank anstelle von 'München' 'M?nchen' steht, weil Du einen UTF8 Text in eine Spalte mit der Collation latin1_swedish_ci gepackt hast, findest Du weder mit einem UTF-8 'ü' noch mit dem ISO-8859-1 'ü' was, weil es diesen Buchstaben in einer Tabelle/Spalte mit dem schwedischen Zeichensatz nicht gibt. Das UTF8 'ü' gibt es nur bei einer UTF8 Collation. Das andere ü in latin1.

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.
Mit Zitat antworten