[Fwd: [Mapbender-users] Digitalisierung und Umlaute]

Uli Rothstein uli.rothstein at ccgis.de
Wed Nov 22 02:20:14 EST 2006



-------- 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


-- 
--------------------------------
        Ulrich Rothstein
          CCGIS GbR
        Siemensstraße 8
         53121 Bonn
           GERMANY
--------------------------------

   uli.rothstein at ccgis.de
        www.ccgis.de
    www.mapbender.org
--------------------------------
Zentrale:  ++49 (0) 228 90826  0
Durchwahl: ++49 (0) 228 90826 17
Fax:       ++49 (0) 228 90826 11
--------------------------------




More information about the Mapbender_dev mailing list