Ich habe das standardmäßige MySQL-Importcodierungsproblem, aber ich kann es anscheinend nicht lösen.
Bei meinem Kunden läuft seit einiger Zeit eine WordPress-Installation. Ich habe die Datenbank in eine Datei gesichert und lokal importiert. Die resultierenden Seiten weisen durchgehend ein Spritzer von �-Zeichen auf.
Ich habe die Datenbankeigenschaften auf beiden Seiten überprüft: production: show create database wordpress;
CREATE DATABASE `wordpress` /*!40100 DEFAULT CHARACTER SET latin1 */
local: show Datenbank erstellen WordPress;
CREATE DATABASE `wordpress` /*!40100 DEFAULT CHARACTER SET latin1 */
Produktion: show create table wp_posts;
CREATE TABLE `wp_posts` (
`ID` bigint(20) unsigned NOT NULL auto_increment,
...
KEY `post_date_gmt` (`post_date_gmt`)
) ENGINE=MyISAM AUTO_INCREMENT=7932 DEFAULT CHARSET=utf8
local: show create table wp_posts;
CREATE TABLE `wp_posts` (
`ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
...
KEY `post_date_gmt` (`post_date_gmt`)
) ENGINE=MyISAM AUTO_INCREMENT=7918 DEFAULT CHARSET=utf8
Ich habe Stunden damit verbracht, Foren zu lesen, wie man das � quetscht, aber ich kann nichts zum Laufen bringen. 99 % der Antworten besagen, dass der Zeichensatz zwischen den Datenbanken übereinstimmt. Was meiner Meinung nach funktionieren sollte, wenn Folgendes gilt:
mysqldump --opt --compress --default-character-set=latin1 -uusername -ppassword wordpress | ssh [email protected] mysql --default-character-set=latin1 -uusername -ppassword wordpress
Ich habe es auch mit dem utf8-Zeichensatz gemacht. Immer noch mit den �.
Ich habe versucht, den SQL-Dump direkt zu ändern und mit zu setzen utf8 oder Latein1 in der Zeile “SET names UTF8”. Immer noch mit den �.
Seltsame Symptome
Ich würde erwarten, dass diese �-Zeichen anstelle von Sonderzeichen im Inhalt erscheinen, wie z n oder Ö, aber ich habe es gesehen, wo normalerweise nur ein Leerzeichen vorhanden wäre. Ich habe es auch anstelle von Apostrophen gesehen (aber nicht alle Apostrophe), doppelte Anführungszeichen und Markensymbole.
Die �-Markierungen sind ziemlich selten. Sie erscheinen durchschnittlich drei- bis viermal pro Seite.
Ich sehe keine �, wenn ich die Datenbank über Sequel Pro (lokal oder live) ansehe. Ich sehe keine � in der SQL, wenn ich sie über Textmate ansehe.
Was vermisse ich?
BEARBEITEN
Mehr Info:
Ich habe versucht festzustellen, was die Live-Datenbank für die Codierung hält. Ich rannte show table status
und es scheint, dass die Collations eine Mischung aus sind utf8_general_ci,
utf8_binand
latin1_swedish_ci`. Was sind sie anders? Spielt es eine Rolle?
Ich lief auch: show variables like "character_set_database"
und bekam latin1
;