[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