Hi dedlfix,
Du meinst Zeichenkodierung, auch wenn das Ding meist fälschlicherweise als "charset" anzugeben ist.
Ja, genau die meine ich.
Dann hast du und der Browser Gewissheit.
Was ja aber nicnht heißt, dass ein User sienen Browser trotzdem auf eine andere Zeichekodierung einstellt, oder?
- Wie stelltz man eine latin-1 DB auf utf-8 um?
Es kommt auf die Kodierung der einzelnen Felder an. Wenn die Daten darin richtig kodiert sind (phpMyAdmin zeigt alles richtig an) dann kannst du einfach den Wert für die Kollation ändern. MySQL kodiert dann ordnungsgemäß um.
Die einzelnen Felder sind alle durch die Bank nach folgendem Schema aufgebaut:
int steht nichts dahinter,
decimal auch nicht,
timestamp nichts,
char, varchar oder text sind latin1_germany1_ci
Beispieltabelle:
CREATE TABLE db_error (
ErrorID int(6) NOT NULL auto_increment,
ErrorSite varchar(100) collate latin1_german1_ci NOT NULL default '',
ErrorStatus varchar(25) collate latin1_german1_ci NOT NULL default '0',
ErrorURL varchar(255) collate latin1_german1_ci NOT NULL default '',
Datum timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`query` text collate latin1_german1_ci,
PRIMARY KEY (ErrorID)
) ENGINE=MyISAM AUTO_INCREMENT=136 DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci;
# --------------------------------------------------------
In welcher Reihenfolge gehe ich nun vor, wenn ich absolut alles auf UTF-8 umstellen möchte?
- header?
- meta tag?
- Dateien neu kodiert speichern?
- Datenbank auf utf-8 umstellen?
- Was ist mit den Wegen von Server zu mysql und zurück? Wie beeinflusse ich da die Kodierung? Ich kann die mysql-Konfiguration selber nicht beeinflussen, da sie beim Provider liegt.
- was sonst noch?
- ...
Und zu Punkt 3: Alle meine php-Dateien müssen ja auch auf UTF-8-Zeichenkodierung gespeichert werden.
Gibt es da ein Programm, was mir dabei hilft? Denn ich habe da etliche Dateien, die ich öffnen, speichern und wieder schließen müsste.
Gruß, Basti