Auf SET NAMES UTF8 verzichten?

MySQL, PostgreSQL, SQLite
Post Reply
exception
Posts: 8
Joined: 2004-08-17 13:31
 

Auf SET NAMES UTF8 verzichten?

Post by exception »

Hallo,

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;
Es funktioniert alles einwandfrei, aus folgendem Grund würde ich aber gerne auf SET NAMES UTF8 verzichten:

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 
Leider zeigt SHOW VARIABLES weiterhin an:

Code: Select all

character_set_client = latin1
character_set_connection = latin1
character_set_results = latin1
Ich verwende MySQL 4.1 und PHP 5.2

Hat jemand noch Ideen, wie man ohne SET NAMES UTF8 eine UTF8 Verbindung erzwingen kann?
golloza
Posts: 23
Joined: 2005-01-03 17:27
 

Re: Auf SET NAMES UTF8 verzichten?

Post by golloza »

SET NAMES betrifft nur die aktuelle Connection und ändert nichts an den Daten, warum sollte das repliziert werden?
Post Reply