echo $begrüßung;
Ich hab leider noch immer dicke Probleme mit den Kollationen.
Vielleicht hab ich es auch einfach nicht richtig verstanden.
Die Kollation beschäftigt sich mit der Sortierung. Du meinst die Kodierung bzw. Zeichensatz (character set).
Vor einigen Tagen hab ich die Webseiten (und DBs) auf einen neuen Server gebracht.
Das heisst, ich hab auch gleich den Apache, PHP und MySQL aktualisiert, hab aber die Webseiten und die DBs schlicht auf den neuen Server kopiert.
Genauere Angaben, über dein Vorgehen als du den MySQL-Server mit den alten Daten versorgt hast, wären schon hilfreich, denn daraus kann man eventuell erkennen, was du richtig oder falsch gemacht hast.
Zunächstmal kann ich mit dem Phpmyadmin nicht mehr suchen, der hängt mir bei jeder Suche ein Convert dran:
Was zeigt der PMA auf seiner Startseite an, welche Kodierung er verwendet? Was ist im Server eingestellt (Was zeigt die Seite System-Variablen für die "character set ..."-Werte an?)
SELECT * FROM
wissen
WHEREtitel
LIKE CONVERT( _utf8 'fixup' USING [???]) LIMIT 0 , 30
Da fehlt doch sicher was.
Ich weiß nicht, warum er überhaupt convert benutzen möchte und warum überhaupt _utf8?? Bei der Tabelle steht latin1_general_ci, das wohl standardmäßig genommen wird, da die Info bisher nicht in der Tabelle steht.
Vermutlich will er das, weil es Unterschiede zwischen ihm und dem Server in der verwendeten Kodierung gibt.
Lasse ich mir den Inhalt der Tabelle anzeigen, werden in den BLOB-Feldern die deutschen Umlaute nicht korrekt dargestellt.
Es gibt viele Arten von "nicht korrekt". Wie genau sieht deine aus?
Kann ich das korrigieren, indem ich die Tabelle und alle Felder auf Kollation latin1_german_ci umstelle?
Ohne Ursachenermittlung halte ich eine Beantwortung dieser Frage nicht für besonders sinnvoll.
Macht es Sinn, wenn ich alles auf UTF8 umstelle? Geht mir dabei eventuell der Inhalt verloren?
Das kommt darauf an, was bisher schon kaputtgegangen ist. Wenn derzeit alles richtig ist/wäre, kann man die Kodierung/Kollation der Felder umstellen, und MySQL nimmt gegebenenfalls eine Konvertierung der Daten vor.
Vielleicht hast du auch nur nicht beachtet, die auf deinen Datenbankverbindungen zu verwendende Kodierung explizit auszuhandeln (SET NAMES ... oder besser mit der Funktion mysql_set_charachter_set() bzw. deren Pendant in der verwendeten Umgebung (beispielsweise mysqli in PHP5)).
echo "$verabschiedung $name";