[Mapbender-users] Codierung fuer mb_myPOI
"Jäger, Frank (KRZ)"
F.Jaeger at KRZ.DE
Mon Dec 8 08:07:26 EST 2008
Hallo Mapbender-Entwickler und PHP-Profis,
ich möchte mit PHP aus einer Datenbank einen POI-Link zum Mapbender generieren.
Der "label" des Parameters "mb_myPOI" kann auch Umlaute enthalten.
Ich habe festgestellt, dass es nicht reicht, die Umlaute mit der PHP-Funktion 'urlencode()' zu behandeln.
Obwohl Webserver und Datenbank in iso/Latin1 betrieben werden, müssen die Umlaute offensichtlich UTF-8-codiert werden.
Dies Provisorium funktioniert:
$_uml = array('ä', 'ü', 'ö', 'Ä', 'Ü', 'Ö', 'ß', ' ');
$_utf = array('%C3%A4', '%C3%BC', '%C3%B6', '%C3%84', '%C3%9C', '%C3%96', '%C3%9F', '+');
$utflabel = str_replace( $_uml, $_utf, $label );
Aber das muss doch 'eleganter' gehen, oder?
Warum reichen eigentlich nicht die mit urlencode erzeugten Codes (ö = %F6 , ü = %FC) sondern nur (ö = %C3%B6 , ü = %C3%BC)?
Beispiele:
Mit Meeting-Point generiert (UTF-8):
http://map.krz.de/mapwww/frames/login.php?name=treff&password=treff&mb_user_myGui=Treff&mb_myPOI2SCALE=3494318,5765521,5000&mb_myPOI=Umlaute+%C3%84%C3%9C%C3%96%C3%A4%C3%BC%C3%B6|3494318|5765521
Aus PHP urlencode() (ISO):
http://map.krz.de/mapwww/frames/login.php?name=treff&password=treff&mb_user_myGui=Treff&mb_myPOI2SCALE=3494318,5765521,5000&mb_myPOI=Umlaute+%C4%DC%D6%E4%FC%F6|3494318|5765521
Ganz *ohne* Maskierung der Umlaute:
http://map.krz.de/mapwww/frames/login.php?name=treff&password=treff&mb_user_myGui=Treff&mb_myPOI2SCALE=3494318,5765521,5000&mb_myPOI=Umlaute+ÄÜÖäüö|3494318|5765521
(Funktioniert mit Firefox, nicht mit IE)
Mit freundlichen Grüßen
Frank Jäger
More information about the Mapbender_users
mailing list