meine Datenbank speichert Daten intern als UTF-8. Auch die darauf zugreifenden PHP-Script arbeiten alle mit UTF-8, um jetzt von der Datenbank Ergebnisse als UTF-8 zu erhalten, führe ich nach Verbindungsaufbau folgende Query durch:
Code: Select all
SET NAMES UTF8;
Die Datenbankserver laufen als Master-Slave-Setup, die Anweisung SET NAMES UTF8 muss also auf jeden Slave repliziert werden. Ich vermute, dass dadurch unnötig Netzwerklast, Festplattenaktivität und CPU-Zeit verschenkt wird. Gibt es einen Weg diese MySQL-Anweisung einzusparen?
Folgendes habe ich bereits erfolglos versucht:
my.cnf angepasst:
Code: Select all
[client]
character_set = utf8
default-character-set = utf8
[mysqld]
character-set-server = utf8
default-character-set = utf8
collation-server = utf8_general_ci
[mysql]
character-sets-dir = utf8
default-character-set = utf8
Code: Select all
character_set_client = latin1
character_set_connection = latin1
character_set_results = latin1
Hat jemand noch Ideen, wie man ohne SET NAMES UTF8 eine UTF8 Verbindung erzwingen kann?