Wir haben das Problem, dass deutsche, slawische oder ungarische Sonderzeichen entweder im Web stimmen oder (mit mehreren gängigen Datenbankclients) in der Tabelle. Hintergrund: Wir beschicken die Felder title und caption mit externen Applikationen und kriegen es nicht hin, dass die Zeichendarstellung sowohl in der DB-Tabelle als auch im Browser übereinstimmen.
Wer hat eine Idee?
Dieter Zoubek
Füge in der Datei include/config.inc.php folgendes hinzu:
$CONFIG['dbcharset'] = "utf8";
Did not work. SQL-Settings enclosed. I only tested fields title and caption. Best regards Dieter Zoubek
QuoteCREATE TABLE `cpg15x_pictures` (
`pid` INT(11) NOT NULL AUTO_INCREMENT,
`aid` INT(11) NOT NULL DEFAULT '0',
`filepath` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'latin1_german1_ci',
`filename` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'latin1_german1_ci',
`filesize` INT(11) NOT NULL DEFAULT '0',
`total_filesize` INT(11) NOT NULL DEFAULT '0',
`pwidth` SMALLINT(6) NOT NULL DEFAULT '0',
`pheight` SMALLINT(6) NOT NULL DEFAULT '0',
`hits` INT(10) NOT NULL DEFAULT '0',
`mtime` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`ctime` INT(11) NOT NULL DEFAULT '0',
`owner_id` INT(11) NOT NULL DEFAULT '0',
`pic_rating` INT(11) NOT NULL DEFAULT '0',
`votes` INT(11) NOT NULL DEFAULT '0',
`title` VARCHAR(255) NOT NULL DEFAULT '',
`caption` TEXT NOT NULL,
`keywords` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'latin1_german1_ci',
`approved` ENUM('YES','NO') NOT NULL DEFAULT 'NO' COLLATE 'latin1_german1_ci',
`galleryicon` INT(11) NOT NULL DEFAULT '0',
`user1` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'latin1_german1_ci',
`user2` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'latin1_german1_ci',
`user3` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'latin1_german1_ci',
`user4` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'latin1_german1_ci',
`url_prefix` TINYINT(4) NOT NULL DEFAULT '0',
`pic_raw_ip` TINYTEXT NULL COLLATE 'latin1_german1_ci',
`pic_hdr_ip` TINYTEXT NULL COLLATE 'latin1_german1_ci',
`lasthit_ip` TINYTEXT NULL COLLATE 'latin1_german1_ci',
`position` INT(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`pid`),
INDEX `owner_id` (`owner_id`),
INDEX `pic_hits` (`hits`),
INDEX `pic_rate` (`pic_rating`),
INDEX `aid_approved` (`aid`, `approved`),
INDEX `pic_aid` (`aid`, `pid`)
)
COMMENT='Used to store data about individual pics'
COLLATE='utf8_general_ci'
ENGINE=MyISAM
ROW_FORMAT=DEFAULT
AUTO_INCREMENT=8320
Also wie die Zeichen in der Datenbank aussehen, sollte ja eigentlich zweitranging sein, solange sie in der Galerie richtig erscheinen, oder? Damit wir von derselben Sache reden, solltest du uns am besten mal einen Link zu deiner Galerie geben.
So ist es. Ist mir auch schon bei anderen Sachen aufgefallen, dass in der DB die Dinger kryptisch aussehen aber im Web richtig. Die Umsetzung machts eben.
Gerne:
http://www.bahnmedien.at/coppermine/cpg1.5.3/displayimage.php?album=1&pid=260#top_display_media
http://www.bahnmedien.at/coppermine/cpg1.5.3/displayimage.php?album=1&pid=164#top_display_media
Auf beiden Darstellungen ist je ein umlaut korrupt.
Quote from: Αndré on October 11, 2011, 06:46:28 PM
Also wie die Zeichen in der Datenbank aussehen, sollte ja eigentlich zweitranging sein, solange sie in der Galerie richtig erscheinen, oder?
Dazu noch eine Anmerkung: Es ist uns eben nicht egal, da wir die Datenbank mit externen Tools beschicken. Da sollten die Umlaute über z.B. phpMyAdmin, HeidiSQL, MS Access+ODBC im Vergleich zum Coppermine schon eher gleich aussehen.
Dieter Zoubek
Das erste große Problem sehe ich hier:
Quote<!--Coppermine Photo Gallery 1.5.3 (RC)-->
Ohne ein Upgrade auf die derzeit aktuelle Version cpg1.5.16 brauchen wir gar nicht weiterzureden.
Bzgl. der Umlautproblematik: haben diese externen Anwendungen denn keine Kodierungseinstellungen? Es wird am Ende vermutlich eine Fleißarbeit, alle bereits vorhandenen Zeichen in der Datenbank so zu kodieren, dass sie in allen Applikationen identisch aussehen.
Ich möchte mich bei allen Postern in diesem thread bedanken - mit dem Update und der UTF8-Einstellung klappt es nun wunderbar.
Herzliche Grüße aus Österreich
Dieter Zoubek
Quote from: Joachim Müller on November 11, 2009, 10:19:46 AM
Zum Schluß solltest Du Deinen Thread als "solved" (gelöst) markieren, indem Du auf den entsprechenden "Topic Solved"-Button in der Leiste am unteren linken Ende deines Threads klickst.