10.05.2007, 14:01
Probleme mit Umlauten von Benutzern und Orten in der Anzeige der Karte hatte ich auch. Geholfen hat:
Ersetze in membermap.php im unteren Teil (Zeile 290)
original:
'name' => htmlentities($e['name']),
durch:
'name' => htmlentities($e['name'], ENT_QUOTES, 'UTF-8'),
und Zeile (296) original
$locations[$e['loc_id']]['users'] .= htmlentities($e['username']).', ';
durch:
$locations[$e['loc_id']]['users'] .= htmlentities($e['username'], ENT_QUOTES, 'UTF-8').', ';
Ich kann weiter berichten das ich das Plugin mit kleineren Abänderungen an der Art und Weise des Datenbankzugriffs auch mit geo-daten unter mysql-4.0 läuft.
Die geo-Daten hab ich dazu einmal von mysql-5.1 unter mysqldumper rausgeschrieben, damit ich sie unter 4.0 einlesen konnte, weil ich nehm an sie in inkompatiblen Format vorlagen.
In membermap.php hab ich
Aufrufe auf
$db->query('SET NAMES "utf8"');
auskommentiert und wo CONVERT in der sql-Anfrage war etwa wie folgende:
CONVERT(u.username USING utf8) AS username
durch
u.username AS username
ersetzt.
Ich nehm an das ich mir die CONVERTs auch schenken kann weil die Daten in der Datenbank als utf8 vorliegen.
In inc/plugin/membermap.php hab ich dazu folgendes geändert:
Bei Zeile 150 original:
$db->query('CREATE TABLE IF NOT EXISTS `'.TABLE_PREFIX.'membermap` (
`uid` int(11) unsigned NOT NULL,
`loc_id` int(10) NOT NULL,
PRIMARY KEY (`uid`),
KEY `loc_id` (`loc_id`)
) ENGINE=MyISAM;');
geschrieben:
$db->query('CREATE TABLE `'.TABLE_PREFIX.'membermap` (
`uid` INT(11) UNSIGNED NOT NULL,
`loc_id` INT(10) NOT NULL,
PRIMARY KEY (`uid`),
KEY `loc_id` (`loc_id`)
);');
Die Muße welche meiner Modifikationen hierbei den Ausschlag gab das er unter mysql-4.0 nun auch die Tabelle anlegt hab ich mir nicht genommen. Diese Änderung muss also nicht die minimale Variante sein.
Ersetze in membermap.php im unteren Teil (Zeile 290)
original:
'name' => htmlentities($e['name']),
durch:
'name' => htmlentities($e['name'], ENT_QUOTES, 'UTF-8'),
und Zeile (296) original
$locations[$e['loc_id']]['users'] .= htmlentities($e['username']).', ';
durch:
$locations[$e['loc_id']]['users'] .= htmlentities($e['username'], ENT_QUOTES, 'UTF-8').', ';
Ich kann weiter berichten das ich das Plugin mit kleineren Abänderungen an der Art und Weise des Datenbankzugriffs auch mit geo-daten unter mysql-4.0 läuft.
Die geo-Daten hab ich dazu einmal von mysql-5.1 unter mysqldumper rausgeschrieben, damit ich sie unter 4.0 einlesen konnte, weil ich nehm an sie in inkompatiblen Format vorlagen.
In membermap.php hab ich
Aufrufe auf
$db->query('SET NAMES "utf8"');
auskommentiert und wo CONVERT in der sql-Anfrage war etwa wie folgende:
CONVERT(u.username USING utf8) AS username
durch
u.username AS username
ersetzt.
Ich nehm an das ich mir die CONVERTs auch schenken kann weil die Daten in der Datenbank als utf8 vorliegen.
In inc/plugin/membermap.php hab ich dazu folgendes geändert:
Bei Zeile 150 original:
$db->query('CREATE TABLE IF NOT EXISTS `'.TABLE_PREFIX.'membermap` (
`uid` int(11) unsigned NOT NULL,
`loc_id` int(10) NOT NULL,
PRIMARY KEY (`uid`),
KEY `loc_id` (`loc_id`)
) ENGINE=MyISAM;');
geschrieben:
$db->query('CREATE TABLE `'.TABLE_PREFIX.'membermap` (
`uid` INT(11) UNSIGNED NOT NULL,
`loc_id` INT(10) NOT NULL,
PRIMARY KEY (`uid`),
KEY `loc_id` (`loc_id`)
);');
Die Muße welche meiner Modifikationen hierbei den Ausschlag gab das er unter mysql-4.0 nun auch die Tabelle anlegt hab ich mir nicht genommen. Diese Änderung muss also nicht die minimale Variante sein.