Hallo zusammen,
vor ein paar Wochen hatte ich meine Webanwendung und die MySQL DB auf utf8 umgestellt. Folgendes hatte ich geändert:
in der MySQL my.ini Datei:
----------------------------------
[mysqld]
default-character-set = utf8
character-set-server = utf8
collation-server= utf8_general_ci
init_connect = SET NAMES utf8
Die Datenbank "testdbNEU" exportiert und nach UTF8 gewandelt. Wieder importiert.
in der Apache httpd.conf
---------------------------------
AddDefaultCharset utf-8
in der php.ini Datei
---------------------------------
default_charset = "UTF-8"
Zusätzlich in allen PHP Seiten den Content Type auf utf8 gesetzt:
------------------------------------------------------------------
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
soweit so gut. Es waren (sind) noch ein paar Änderungen zusätzlich notwendig wegen den String Funktionen aber sonst läuft alles.
Heute hatte ich nun folgende Situation:
Auf dem MySQL Server läuft noch eine andere alte DB "testdbALT" und auf dem Apache eine weitere alte WebAndwendung die beide noch in Latin1 bzw. iso-8859-1 laufen.
Ich bekam nun Probleme mit dieser Anwendung weil ja generell über den Apache und PHP bzw. der my.ini IMMER alles in UTF übertragen wurde. So konnte ich mich z.b. nicht einloggen (User Login mit Passwörter)
Die Frage ist nun: Wie kann es erreichen (zumindest auf dem Testsytem mit der Entwicklungsumgebung) das man utf8 und ISO gemischt laufen lässt?
Ich habe folgendes versucht:
Alle Änderungen in der my.ini, php.ini und httpd.conf rückgängig gemacht.
Dafür in der neuen UTF8 Anwendung die mit der UTF8 DB arbeitet nach der PDO Verbindung
$DBO->query("SET NAMES 'utf8'");
$DBO->query("SET CHARACTER SET 'utf8'");
$DBO->query("SET collation_connection = utf8_unicode_ci");
und in einer zentralen include Datei;
header("Content-Type: text/html; charset=utf-8");
Bei ersten Versuchen lief nun wieder die alte Anwendung mit ISO bzw. Latin und auch die neue UTF8 Anwendung.
Ich bin mir aber nicht 100% sicher, ob ich irgend etwas übersehen habe, bzw. ob es andere Lösungswege gibt?
Wie gesagt: Dies ist nur meine Entwicklungsumgebung. Später in Produktivumgebung wird alles auf UTF8 laufen.
vielen Dank und viele Grüße
hawk