echo $begrüßung;
Das Problem an der ganzen Geschichte ist nur, dass die Felder gekürzt werden. Habe noch nicht rausgefunden, ob es da eine bestimmte Regel gibt, aber wo vorher das stand:
Hat jemand eine Idee?
Nicht wirklich, aber ...
Alle Textfelder (varchar,char,text etc.) in Blob umwandeln - ALTER TABLE blablubb CONVERT TO CHARACTER SET utf8 - zwischenzeitlich die Felddefinitionen merken und dann wiederherstellen. Also zurückwandeln in varchar, text oder was immer es vorher war.
Warum so umständlich? Wenn Inhalt und Kodierungs- bzw. Kollationsangabe von Feldern bisher simmten, also beim Anzeigen mit dem phpMyAdmin alle Zeichen ordentlich dargestellt wurden, brauchst du nur die Kodierungs/Kollationsangabe umzustellen, und MySQL kümmert sich um die ordnungsgemäße Umwandlung der Feldinhalte.
'Да. При оплате покупки с помощью бонусов, Вам не будут начислены бонусы с той части суммы, которая оплачивается ранее полученными бонусами. Это правило в дальнейшем может меняться, поэтому советуем Вам следить за обновлениями на сайте.' (Das war vorher in phpmyadmin nicht wirklich in dieser form zu lesen - alles mehr oder weniger Datenmüll, weil utf8 als latin gespeichert war.)
Achso, dann ist es natürlich etwas aufwendiger als die Angabe umzustellen, aber der Zwischenschritt mit dem BLOB wäre nicht nötig. Am einfachsten wäre noch ein Dump als Latin1 gewesen, der mit "Kodierung = utf8" nach Umstellen der Kodierungsangabe wieder eingelesen wird.
(In phpmyadmin sieht's perfekt aus und auf der Seite auch, wenn ich SET NAMES utf8 nach der connect einsetze - aber es ist zu kurz.)
D.h. mir geht bei der Blob-Wandlung etwas verloren.
Nach der Umwandlung sieht es im phpMyAdmin immer noch richtig aus und beim Abfragen mit deinem Script ist es zu kurz? Der phpMyAdmin kocht auch nur mit Wasser. Ich vermute einen Fehler in deiner Verarbeitung. Kontrollierst du die Variableninhalte direkt nach dem Fetchen? Schaust du auch mal in den Quelltext der HTML-Seite, wenn du dahinein ausgeben lässt?
echo "$verabschiedung $name";