[Mapbender-dev] [Fwd: [Mapbender-users] Digitalisierung und
Umlaute]
Christoph Baudson
christoph.baudson at ccgis.de
Wed Nov 22 04:26:04 EST 2006
Hallo Uwe,
thanks for your mail. Instead of encoding in the JS part you might want
try to change the code in "extensions/geom2wfst.php":
danke für Deinen Beitrag. Anstatt die Kodierung in JavaScript
vorzunehmen könnte ich mir auch vorstellen, das erst auf dem Server in
der Datei "extensions/geom2wfst.php" vorzunehmen.
Line 39
$data = stripslashes($_REQUEST["filter"]);
change to / ändern in
$data = utf8_encode(stripslashes($_REQUEST["filter"]));
Wenn das funktioniert wäre das etwas einfacher, da man keine neue
Funktion bräuchte.
If this would work it would be simpler, because you wouldn't need the JS
function
Gruß
Christoph
Uli Rothstein schrieb:
>
>
> -------- Original-Nachricht --------
> Betreff: [Mapbender-users] Digitalisierung und Umlaute
> Datum: Tue, 21 Nov 2006 15:53:25 +0100
> Von: uwe.raudszus at email.de
> Antwort an: users at mapbender.osgeo.org
> Organisation: http://freemail.web.de/
> An: users at mapbender.osgeo.org
>
> Hallo,
>
> ich versuche gerade die Möglichkeit zur Digitalisierung in unser Web-GIS
> einzubauen. Dabei bin ich auf das Problem gestoßen, dass Umlaute nich
> richtig übergeben werden.
>
> Ich habe eine Lösung gefunden in der die mod_digitize_tab.php angepasst
> werden muss. Gibt es eine einfachere Lösung?
>
> Meine Anpassung sieht folgendermaßen aus:
>
> .....
> 1. Eine neue Funktion: (Kopiert von selfhtml)
> function encode_utf8(rohtext) {
> // dient der Normalisierung des Zeilenumbruchs
> rohtext = rohtext.replace(/\r\n/g,"\n");
> var utftext = "";
> for(var n=0; n<rohtext.length; n++)
> {
> // ermitteln des Unicodes des aktuellen Zeichens
> var c=rohtext.charCodeAt(n);
> // alle Zeichen von 0-127 => 1byte
> if (c<128)
> utftext += String.fromCharCode(c);
> // alle Zeichen von 127 bis 2047 => 2byte
> else if((c>127) && (c<2048)) {
> utftext += String.fromCharCode((c>>6)|192);
> utftext += String.fromCharCode((c&63)|128);}
> // alle Zeichen von 2048 bis 66536 => 3byte
> else {
> utftext += String.fromCharCode((c>>12)|224);
> utftext += String.fromCharCode(((c>>6)&63)|128);
> utftext += String.fromCharCode((c&63)|128);}
> }
> return utftext;
> }
>
> 2. Diese wird dann in Save und Update genutzt:
>
> //
> // ---------------------------------------- SAVE
> -------------------------------------------------
> //
> if (type == "save") {
> str += '<wfs:Insert><'+ myconf['featuretype_name']+'>';
> for(var i=0; i<d.get(m).e.count(); i++){
> if(d.get(m).e.getValue(i) != ""){
> var tmp = d.get(m).e.getName(i);
> str += '<' + tmp + '>' + encode_utf8(d.get(m).e.getValue(i)) +
> '</' + tmp + '>';
> }
> }
>
> ....
>
> //
> // --------------------------------------- UPDATE
> ------------------------------------------------
> //
> else if (type == "update") {
> str += '<wfs:Update typeName="'+ myconf['featuretype_name']+'">';
> for(var i=0; i<d.get(m).e.count(); i++){
> if(d.get(m).e.getValue(i) != ""){
> str += '<wfs:Property>';
> str += '<wfs:Name>'+d.get(m).e.getName(i)+'</wfs:Name>';
> str +=
> '<wfs:Value>'+encode_utf8(d.get(m).e.getValue(i))+'</wfs:Value>';
> str += '</wfs:Property>';
> }
> }
> ....
>
> Mit freundlichen Grüßen
> Uwe Raudszus
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe at mapbender.osgeo.org
> For additional commands, e-mail: users-help at mapbender.osgeo.org
>
>
More information about the Mapbender_dev
mailing list