Rekodierung von Sonderzeichen nach UTF8

Nach naechsten Reboot wird der Driver die einlesen, aber
bei anderen Zeichensaetzen standardmaessig einen Fehler
ausloesen.

Change-Id: I29f719ccfedc52a25568e30bbf0cc7687af60071
diff --git a/d/seher/haeuser/moebel/schluesselbrett.c b/d/seher/haeuser/moebel/schluesselbrett.c
index f39f04e..b07667e 100644
--- a/d/seher/haeuser/moebel/schluesselbrett.c
+++ b/d/seher/haeuser/moebel/schluesselbrett.c
@@ -3,7 +3,7 @@
 // Letzte Aenderung:    02.06.2001
 // Original:            Swift
 // Neue Version:        Seleven
-// Übernommen:          23.01.2006
+// Übernommen:          23.01.2006
 //---------------------------------------------------------------------------
 /* Changelog
    * 21.06.2007, Zesstra
diff --git a/d/seher/haeuser/tools/generator.c b/d/seher/haeuser/tools/generator.c
index 3254c2b..ac03386 100644
--- a/d/seher/haeuser/tools/generator.c
+++ b/d/seher/haeuser/tools/generator.c
@@ -493,7 +493,7 @@
   }
 
   // Falls wir die eval_cost ausgereizt haben, aber noch nicht
-  // alle Einträge bearbeitet wurden, wird jetzt die naechste
+  // alle Einträge bearbeitet wurden, wird jetzt die naechste
   // Runde gestartet
   if (i >= 0)
   {
@@ -540,7 +540,7 @@
   }
 
   // Falls wir die eval_cost ausgereizt haben, aber noch nicht
-  // alle Einträge bearbeitet wurden, wird jetzt die naechste
+  // alle Einträge bearbeitet wurden, wird jetzt die naechste
   // Runde gestartet
   if (i >= 0)
   {
diff --git a/doc/beispiele/master/opferstock.c b/doc/beispiele/master/opferstock.c
index 048a461..90d8381 100644
--- a/doc/beispiele/master/opferstock.c
+++ b/doc/beispiele/master/opferstock.c
@@ -97,7 +97,7 @@
 	// Hier wird der Master aufgerufen, der das Alignment der Spieler
 	// dann aendert.
 	if( OS_MASTER->addAlignment( PL, anz/3 ) > 0 ) {
-		// Eigentlich könnte man hier auch die Meldung ausgeben, aber
+		// Eigentlich könnte man hier auch die Meldung ausgeben, aber
 		// der Spieler soll den Unterschied zwischen Alignment geaendert
 		// unt Alignment nicht geaendert sehen koennen.
 	}
diff --git a/doc/beispiele/master/opferstockmaster.c b/doc/beispiele/master/opferstockmaster.c
index 33a081f..56dba06 100644
--- a/doc/beispiele/master/opferstockmaster.c
+++ b/doc/beispiele/master/opferstockmaster.c
@@ -68,7 +68,7 @@
 }
 
 // Diese Funktion ist die eingetliche Funktion, die "gemastert" werden
-// soll, also für mehrere Opferstoecke gemeinsam benutzt wird.
+// soll, also für mehrere Opferstoecke gemeinsam benutzt wird.
 // Der Opferstock uebergibt das Spielerobjekt und die gewuenschte
 // Alignmentaenderung, als Ergebnis wird 1 geliefert, wenn eine Aenderung
 // vorgenommen wurde (0 sonst) und das Alignment des Spielers entsprechend
diff --git a/p/daemon/pathd.c b/p/daemon/pathd.c
index 17d34ad..a3de17e 100644
--- a/p/daemon/pathd.c
+++ b/p/daemon/pathd.c
@@ -356,7 +356,7 @@
 }
 
 // Die Funktion gibt alle dem pathd bekannten Raeume als Mapping von Arrays
-// zurueck. Schlüssel des Mappings sind dabei Gebiete.
+// zurueck. Schlüssel des Mappings sind dabei Gebiete.
 public mapping get_rooms()
 {
   string *submaps;
@@ -976,7 +976,7 @@
 }
 
 
-// Zum Debuggen. Nur für Tiamak. Bzw. nun fuer Zook, Vanion, Rumata
+// Zum Debuggen. Nur für Tiamak. Bzw. nun fuer Zook, Vanion, Rumata
 #define ALLOWED ({"zook","vanion","rumata","zesstra","humni"})
 #define MATCH(x,y) (sizeof(regexp(x,y)))
 public mapping get_pathmap()
diff --git a/p/service/padreic/mnpc/moving.c b/p/service/padreic/mnpc/moving.c
index 85bf4d4..c868757 100644
--- a/p/service/padreic/mnpc/moving.c
+++ b/p/service/padreic/mnpc/moving.c
@@ -269,7 +269,7 @@
          else if (file_size(vc=implode(explode(fn,"/")[0..<2],"/")
                   +"/virtual_compiler.c")>0)
          {
-            // wenn ein VC existiert, prüfen ob dieser ParaObjecte unterstuetzt
+            // wenn ein VC existiert, prüfen ob dieser ParaObjecte unterstuetzt
             // wenn ja, dann testen ob sich Raum laden laesst...
             if ((!catch(tmp=(int)call_other(vc,"NoParaObjects")) && (!tmp)) &&
                 (!catch(call_other( fn, "???" ))))
@@ -305,7 +305,7 @@
                        (sizeof(mout) > 1 ? mout[1] : "") + ".\n" );
       }
 
-      // nun die Meldung für das "Betreten" des Raumes...
+      // nun die Meldung für das "Betreten" des Raumes...
 
       if ( method & M_TPORT )
         textin = (string) QueryProp(P_MMSGIN);
diff --git a/room/death/death_mark_hooked.c b/room/death/death_mark_hooked.c
index 0e09e8f..d207d0a 100644
--- a/room/death/death_mark_hooked.c
+++ b/room/death/death_mark_hooked.c
@@ -44,7 +44,7 @@
   environment()->move("/room/death/virtual/death_room_"+getuid(environment()),
 		     M_GO|M_SILENT|M_NO_SHOW|M_NOCHECK);
   // Der folgende Code verhindert, dass ein unbedachter Magier im init
-  // oder exit einen Spieler tötet, und ihn dirket danach movet.
+  // oder exit einen Spieler tötet, und ihn dirket danach movet.
   environment()->SetProp(P_TMP_MOVE_HOOK,({time()+10,this_object(),"catch_die_move"}));  
 }
 
diff --git a/secure/krautmaster.c b/secure/krautmaster.c
index 1b5f6d8..cc84005 100644
--- a/secure/krautmaster.c
+++ b/secure/krautmaster.c
@@ -414,7 +414,7 @@
    return 1;
 }
 
-// Hilfsfunktion wird zum einparsen benötigt
+// Hilfsfunktion wird zum einparsen benötigt
 // wandelt z.B. den string von "h 500" in ({ 3, 500 }) um
 private nomask <string|int>* buildAttrArr(string attr)
 {
@@ -1134,7 +1134,7 @@
 mapping make_potion(object* plants)
 {
   // -> mappt nicht-Objekt zu 0, aber 0 ist auch ne gueltige PlantID. Daher
-  // müssen zerstoerten Objekte vorher raus.
+  // müssen zerstoerten Objekte vorher raus.
   // TODO: drauf verlassen, dass nur intakte Objekt enthalten sind?
   if (member(plants, 0) >= 0)
     raise_error(sprintf("make_potion() got invalid object in plant array "
diff --git a/spellbooks/ab_spells.c b/spellbooks/ab_spells.c
index 0637359..d706a1f 100644
--- a/spellbooks/ab_spells.c
+++ b/spellbooks/ab_spells.c
@@ -79,7 +79,7 @@
              // Damage Type: Magic
              SI_MAGIC_TYPE: ({ MT_ANGRIFF }),
              SI_SPELL: ([ SP_NAME: "pfeil" ]),
-             // Boni für hintere Kampfreihen
+             // Boni für hintere Kampfreihen
              SI_SKILLDAMAGE_BY_ROW: ([2:110,3:50,4:10]),
              OFFSET(SI_SKILLDAMAGE_BY_ROW): ([2:50,3:20,4:5])
              ]));
diff --git a/std/player/invmaster/invmaster.c b/std/player/invmaster/invmaster.c
index 6ecac91..b769822 100644
--- a/std/player/invmaster/invmaster.c
+++ b/std/player/invmaster/invmaster.c
@@ -1,5 +1,5 @@
 // invmaster.c by Nachtwind@MG V1.1 (5.3.2001)
-// A small master that provides a graphical display of the player´s
+// A small master that provides a graphical display of the player´s
 // equipment. 
 #pragma strong_types
 #pragma save_types,rtt_checks
@@ -67,7 +67,7 @@
 
 void ShowInv(object player, string arg);
 
-// ok, let´s just read in the graphics...
+// ok, let´s just read in the graphics...
 // really takes some time (~250 eval ticks) but is only done
 // once in an uptime
 void create()
diff --git a/std/player/shadows/morph_shadow.c b/std/player/shadows/morph_shadow.c
index afc97c4..f1ff01f 100644
--- a/std/player/shadows/morph_shadow.c
+++ b/std/player/shadows/morph_shadow.c
@@ -10,8 +10,8 @@
 //   Objekt erstellt: 14.08.01, Troy
 //
 //   Dieser shadow implementiert generische Verwandlungen. Im Gegensatz oder
-//   in Ergänzung zum Tarnhelm sind diese nicht auf die Beschreibung
-//   beschränkt, sondern schlagen sich auch in anderen Properties nieder.
+//   in Ergänzung zum Tarnhelm sind diese nicht auf die Beschreibung
+//   beschränkt, sondern schlagen sich auch in anderen Properties nieder.
 //
 //--------------------------------------------------------------------------
 
@@ -42,13 +42,13 @@
 //   start_shadow( Spieler, Properties )
 //
 //   Startet das Shadowing von Spieler. Properties ist ein Mapping mit
-//   den zu ändernden Properties. Dort nicht vorhandene Properties werden
+//   den zu ändernden Properties. Dort nicht vorhandene Properties werden
 //   zum Spieler durchgereicht. Es werden dort entweder einzelne Werte
-//   erwartet (Beispiel: ([ P_GENDER: MALE ])), die dann für alle Rassen
-//   gelten, oder closures, die dann ausgeführt werden unter Übergabe der
+//   erwartet (Beispiel: ([ P_GENDER: MALE ])), die dann für alle Rassen
+//   gelten, oder closures, die dann ausgeführt werden unter Übergabe der
 //   Spielerrasse als Parameter oder aber Mappings mit den Rassennamen
 //   (Beispiel: ([ P_GENDER: ([ "Mensch": NEUTER, "Elf": FEMALE,
-//   "Zwerg": MALE, ... ]) ])). Ist eine Rasse in dem Rassenmapping nicht
+//   "Zwerg": MALE, ... ]) ])). Ist eine Rasse in dem Rassenmapping nicht
 //   vorhanden, so wird das Property zum Spieler durchgereicht. Speziell
 //   behandelt werden P_IDS (siehe _query_ids()) und P_NAME (siehe
 //   _query_name()). 
@@ -70,7 +70,7 @@
 //
 //   stop_shadow()
 //
-//   Beendet das Shadowing und zerstört dieses Objekt
+//   Beendet das Shadowing und zerstört dieses Objekt
 //
 //--------------------------------------------------------------------------
 int stop_shadow( /* void */ )
@@ -86,7 +86,7 @@
 //   _query_property( Property )
 //
 //   Generische Property-Maskierung. liefert aus morph_properties den zur
-//   Rasse des Trägers passenden Eintrag.
+//   Rasse des Trägers passenden Eintrag.
 //
 //--------------------------------------------------------------------------
 nomask static mixed _query_property( string prop )
@@ -119,7 +119,7 @@
 //
 //   _query_article()
 //
-//   Property-Maskierung für P_ARTICLE
+//   Property-Maskierung für P_ARTICLE
 //
 //--------------------------------------------------------------------------
 int _query_article( /* void */ )
@@ -131,7 +131,7 @@
 //
 //   _query_average_size()
 //
-//   Property-Maskierung für P_AVERAGE_SIZE
+//   Property-Maskierung für P_AVERAGE_SIZE
 //
 //--------------------------------------------------------------------------
 int _query_average_size( /* void */ )
@@ -143,7 +143,7 @@
 //
 //   _query_average_weight()
 //
-//   Property-Maskierung für P_AVERAGE_WEIGHT
+//   Property-Maskierung für P_AVERAGE_WEIGHT
 //
 //--------------------------------------------------------------------------
 int _query_average_weight( /* void */ )
@@ -155,7 +155,7 @@
 //
 //   _query_body()
 //
-//   Property-Maskierung für P_BODY
+//   Property-Maskierung für P_BODY
 //
 //--------------------------------------------------------------------------
 int _query_body( /* void */ )
@@ -167,7 +167,7 @@
 //
 //   _query_gender()
 //
-//   Property-Maskierung für P_GENDER
+//   Property-Maskierung für P_GENDER
 //
 //--------------------------------------------------------------------------
 int _query_gender( /* void */ )
@@ -179,7 +179,7 @@
 //
 //   _query_hands()
 //
-//   Property-Maskierung für P_HANDS
+//   Property-Maskierung für P_HANDS
 //
 //--------------------------------------------------------------------------
 mixed _query_hands( /* void */ )
@@ -191,44 +191,44 @@
 //
 //   _query_ids()
 //
-//   Property-Maskierung für P_IDS - Nicht-Standard, da je nach Ursprungs-
-//   geschlecht des Spielers zusätzliche ids fällig werden. Ablauf: Es gibt
+//   Property-Maskierung für P_IDS - Nicht-Standard, da je nach Ursprungs-
+//   geschlecht des Spielers zusätzliche ids fällig werden. Ablauf: Es gibt
 //   5 Schritte, bei deren jeweiligem Versagen die ids des Spielers durch-
 //   gereicht werden:
 //   1. P_IDS ist im property-mapping vorhanden
 //   2. a) es ist ein string oder ein array: es wird an die ids des Spielers
-//         angehängt und zurückgegeben.
-//      b) es ist eine closure. Diese wird ausgeführt unter Übergabe der
+//         angehängt und zurückgegeben.
+//      b) es ist eine closure. Diese wird ausgeführt unter Übergabe der
 //         Spieler-ids, der Rasse des Spielers und der Geschlechter
 //         (dieses Objekts und des Spielers). Der Ergebniswert der closure
-//         wird direkt zurückgegeben.
-//      c) es ist ein mapping. Hier nehmen wir nun das übliche Rassennamen-
+//         wird direkt zurückgegeben.
+//      c) es ist ein mapping. Hier nehmen wir nun das übliche Rassennamen-
 //         mapping an -> 3.)
-//   3. Für die Rasse des Spielers wird ein Eintrag gesucht
+//   3. Für die Rasse des Spielers wird ein Eintrag gesucht
 //      a) er ist ein string oder ein array: er wird an die ids des Spielers
-//         angehängt und zurückgegeben.
-//      b) er ist eine closure. Diese wird ausgeführt unter Übergabe der
+//         angehängt und zurückgegeben.
+//      b) er ist eine closure. Diese wird ausgeführt unter Übergabe der
 //         Spieler-ids, der Rasse des Spielers und der Geschlechter
 //         (dieses Objekts und des Spielers). Der Ergebniswert der closure
-//         wird direkt zurückgegeben.
+//         wird direkt zurückgegeben.
 //      c) er ist ein mapping. Es wird angenommen, dass je Geschlecht DIESES
 //         Objekts ein Eintrag vorhanden ist. -> 4.)
-//   4. Für das Geschlecht dieses Objekts wird ein Eintrag gesucht
+//   4. Für das Geschlecht dieses Objekts wird ein Eintrag gesucht
 //      a) er ist ein string oder ein array: er wird an die ids des Spielers
-//         angehängt und zurückgegeben.
-//      b) er ist eine closure. Diese wird ausgeführt unter Übergabe der
+//         angehängt und zurückgegeben.
+//      b) er ist eine closure. Diese wird ausgeführt unter Übergabe der
 //         Spieler-ids, der Rasse des Spielers und der Geschlechter
 //         (dieses Objekts und des Spielers). Der Ergebniswert der closure
-//         wird direkt zurückgegeben.
+//         wird direkt zurückgegeben.
 //      c) er ist ein mapping. Es wird angenommen, dass je Geschlecht DES
 //         Spielers ein Eintrag vorhanden ist. -> 5.)
-//   5. Für das Geschlecht des Spielers wird ein Eintrag gesucht
+//   5. Für das Geschlecht des Spielers wird ein Eintrag gesucht
 //      a) er ist ein string oder ein array: er wird an die ids des Spielers
-//         angehängt und zurückgegeben.
-//      b) er ist eine closure. Diese wird ausgeführt unter Übergabe der
+//         angehängt und zurückgegeben.
+//      b) er ist eine closure. Diese wird ausgeführt unter Übergabe der
 //         Spieler-ids, der Rasse des Spielers und der Geschlechter
 //         (dieses Objekts und des Spielers). Der Ergebniswert der closure
-//         wird direkt zurückgegeben.
+//         wird direkt zurückgegeben.
 //
 //--------------------------------------------------------------------------
 mixed _query_ids( /* void */ )
@@ -309,7 +309,7 @@
 //
 //   _query_is_morphed()
 //
-//   Property-Methode für "is_morphed"
+//   Property-Methode für "is_morphed"
 //
 //--------------------------------------------------------------------------
 int _query_is_morphed( /* void */ )
@@ -321,7 +321,7 @@
 //
 //   _query_max_hands()
 //
-//   Property-Maskierung für P_MAX_HANDS
+//   Property-Maskierung für P_MAX_HANDS
 //
 //--------------------------------------------------------------------------
 int _query_max_hands( /* void */ )
@@ -333,7 +333,7 @@
 //
 //   _query_mmsgin()
 //
-//   Property-Maskierung für P_MMSGIN
+//   Property-Maskierung für P_MMSGIN
 //
 //--------------------------------------------------------------------------
 string _query_mmsgin( /* void */ )
@@ -345,7 +345,7 @@
 //
 //   _query_mmsgout()
 //
-//   Property-Maskierung für P_MMSGOUT
+//   Property-Maskierung für P_MMSGOUT
 //
 //--------------------------------------------------------------------------
 string _query_mmsgout( /* void */ )
@@ -357,7 +357,7 @@
 //
 //   _query_msgin()
 //
-//   Property-Maskierung für P_MSGIN
+//   Property-Maskierung für P_MSGIN
 //
 //--------------------------------------------------------------------------
 string _query_msgin( /* void */ )
@@ -369,7 +369,7 @@
 //
 //   _query_msgout()
 //
-//   Property-Maskierung für P_MSGOUT
+//   Property-Maskierung für P_MSGOUT
 //
 //--------------------------------------------------------------------------
 string _query_msgout( /* void */ )
@@ -381,9 +381,9 @@
 //
 //   _query_name()
 //
-//   Property-Methode für P_NAME. Leider ist die player-shell so grottig,
-//   dass überall angenommen wird, QueryProp(P_NAME) liefere einen String :-|
-//   Vollständiges Property daher unter _query_name_full().
+//   Property-Methode für P_NAME. Leider ist die player-shell so grottig,
+//   dass überall angenommen wird, QueryProp(P_NAME) liefere einen String :-|
+//   Vollständiges Property daher unter _query_name_full().
 //
 //--------------------------------------------------------------------------
 string _query_name( /* void */ )
@@ -404,7 +404,7 @@
 //
 //   _query_name_full()
 //
-//   Property-Methode für "name_full".
+//   Property-Methode für "name_full".
 //
 //--------------------------------------------------------------------------
 mixed _query_name_full( /* void */ )
@@ -425,7 +425,7 @@
 //
 //   _query_presay()
 //
-//   Property-Maskierung für P_PRESAY
+//   Property-Maskierung für P_PRESAY
 //
 //--------------------------------------------------------------------------
 string _query_presay( /* void */ )
@@ -437,7 +437,7 @@
 //
 //   _query_race()
 //
-//   Property-Maskierung für P_RACE
+//   Property-Maskierung für P_RACE
 //
 //--------------------------------------------------------------------------
 string _query_race( /* void */ )
@@ -449,7 +449,7 @@
 //
 //   _query_racestring()
 //
-//   Property-Maskierung für P_RACESTRING
+//   Property-Maskierung für P_RACESTRING
 //
 //--------------------------------------------------------------------------
 string* _query_racestring( /* void */ )
@@ -461,7 +461,7 @@
 //
 //   _query_size()
 //
-//   Property-Maskierung für P_SIZE
+//   Property-Maskierung für P_SIZE
 //
 //--------------------------------------------------------------------------
 int _query_size( /* void */ )
@@ -473,7 +473,7 @@
 //
 //   _query_title()
 //
-//   Property-Maskierung für P_TITLE
+//   Property-Maskierung für P_TITLE
 //
 //--------------------------------------------------------------------------
 string _query_title( /* void */ )
@@ -485,7 +485,7 @@
 //
 //   _query_weight()
 //
-//   Property-Maskierung für P_WEIGHT
+//   Property-Maskierung für P_WEIGHT
 //
 //--------------------------------------------------------------------------
 int _query_weight( /* void */ )
@@ -585,7 +585,7 @@
 //
 //   remove( Schnauze )
 //
-//   aufräumen
+//   aufräumen
 //
 //--------------------------------------------------------------------------
 varargs int remove( int silent )
diff --git a/std/room/kraeuterladen.c b/std/room/kraeuterladen.c
index cf99793..edf34bb 100644
--- a/std/room/kraeuterladen.c
+++ b/std/room/kraeuterladen.c
@@ -41,7 +41,7 @@
 
   SetProp(P_BUY_ONLY_PLANTS,1);
   /*
-  seteuid(getuid()); // wird zum speichern benötigt
+  seteuid(getuid()); // wird zum speichern benötigt
   int si=sizeof(count);
   // fuer jede PlantID einen Eintrag anlegen, d.h. wenn in count noch
   // nicht genug vorhanden sind, werden fehlende Eintraege ergaenzt.
@@ -150,7 +150,7 @@
    return val-val%10; 
 }
 
-// gibt den Preis zurück, der zum Ankauf des Objektes verwendet werden soll
+// gibt den Preis zurück, der zum Ankauf des Objektes verwendet werden soll
 static varargs int QueryValue(object ob, int value, object player)
 {
    return ::QueryValue(ob, realValue(ob, player), player);