Index: code/branches/pch/src/orxonox/overlays/console/InGameConsole.cc
===================================================================
--- code/branches/pch/src/orxonox/overlays/console/InGameConsole.cc	(revision 3141)
+++ code/branches/pch/src/orxonox/overlays/console/InGameConsole.cc	(revision 3142)
@@ -41,4 +41,5 @@
 #include "util/Convert.h"
 #include "util/Debug.h"
+#include "util/UTFStringConversions.h"
 #include "core/Clock.h"
 #include "core/CoreIncludes.h"
@@ -466,5 +467,5 @@
                 {
                     ++linesUsed;
-                    this->consoleOverlayTextAreas_[index]->setCaption(convert2UTF(output.substr(0, this->maxCharsPerLine_)));
+                    this->consoleOverlayTextAreas_[index]->setCaption(multi_cast<Ogre::UTFString>(output.substr(0, this->maxCharsPerLine_)));
                     output.erase(0, this->maxCharsPerLine_);
                     output.insert(0, 1, ' ');
@@ -473,5 +474,5 @@
                     this->colourLine(level, index);
                 }
-                this->consoleOverlayTextAreas_[index]->setCaption(convert2UTF(output));
+                this->consoleOverlayTextAreas_[index]->setCaption(multi_cast<Ogre::UTFString>(output));
                 this->displayedText_ = output;
                 this->numLinesShifted_ = linesUsed;
@@ -491,5 +492,5 @@
                   this->inputWindowStart_ = 0;
                 this->displayedText_ = output;
-                this->consoleOverlayTextAreas_[index]->setCaption(convert2UTF(output));
+                this->consoleOverlayTextAreas_[index]->setCaption(multi_cast<Ogre::UTFString>(output));
             }
         }
@@ -606,21 +607,3 @@
         InGameConsole::getInstance().deactivate();
     }
-
-    /**
-        @brief Converts a string into an Ogre::UTFString.
-        @param s The string to convert
-        @return The converted string
-    */
-    /*static*/ Ogre::UTFString InGameConsole::convert2UTF(const std::string& text)
-    {
-        Ogre::UTFString utf;
-        Ogre::UTFString::code_point cp;
-        for (unsigned int i = 0; i < text.size(); ++i)
-        {
-          cp = text[i];
-          cp &= 0xFF;
-          utf.append(1, cp);
-        }
-        return utf;
-    }
 }
Index: code/branches/pch/src/orxonox/overlays/console/InGameConsole.h
===================================================================
--- code/branches/pch/src/orxonox/overlays/console/InGameConsole.h	(revision 3141)
+++ code/branches/pch/src/orxonox/overlays/console/InGameConsole.h	(revision 3142)
@@ -61,6 +61,4 @@
         static void closeConsole();
 
-        static Ogre::UTFString convert2UTF(const std::string& text);
-
     private: // functions
         InGameConsole(const InGameConsole& other);
Index: code/branches/pch/src/orxonox/overlays/hud/ChatOverlay.cc
===================================================================
--- code/branches/pch/src/orxonox/overlays/hud/ChatOverlay.cc	(revision 3141)
+++ code/branches/pch/src/orxonox/overlays/hud/ChatOverlay.cc	(revision 3142)
@@ -31,4 +31,5 @@
 #include <OgreTextAreaOverlayElement.h>
 
+#include "util/UTFStringConversions.h"
 #include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
@@ -39,5 +40,4 @@
 #include "PlayerManager.h"
 #include "objects/infos/PlayerInfo.h"
-#include "overlays/console/InGameConsole.h"
 #include "tools/Timer.h"
 
@@ -86,5 +86,5 @@
         }
 
-        this->messages_.push_back(InGameConsole::convert2UTF(text));
+        this->messages_.push_back(multi_cast<Ogre::UTFString>(text));
         COUT(0) << "Chat: " << text << std::endl;
 
Index: code/branches/pch/src/util/MultiTypeValue.h
===================================================================
--- code/branches/pch/src/util/MultiTypeValue.h	(revision 3141)
+++ code/branches/pch/src/util/MultiTypeValue.h	(revision 3142)
@@ -194,5 +194,6 @@
         saveAndIncrease( this->value_.z, mem );
         saveAndIncrease( this->value_.w, mem );
-    }template <> inline uint8_t MT_Value<Ogre::Quaternion>::getSize() const
+    }
+    template <> inline uint8_t MT_Value<Ogre::Quaternion>::getSize() const
     {
         return 4*returnSize(this->value_.x);
Index: code/branches/pch/src/util/UTFStringConversions.h
===================================================================
--- code/branches/pch/src/util/UTFStringConversions.h	(revision 3142)
+++ code/branches/pch/src/util/UTFStringConversions.h	(revision 3142)
@@ -0,0 +1,61 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Fabian 'x3n' Landau
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ */
+
+/**
+@file
+@brief
+    std::sring to Ogre::UTFString conversion functions
+*/
+
+#ifndef _UTFStringConversions_H__
+#define _UTFStringConversions_H__
+
+#include "UtilPrereqs.h"
+#include <OgreUTFString.h>
+
+namespace orxonox
+{
+    template <>
+    struct ConverterExplicit<std::string, Ogre::UTFString>
+    {
+        //! Converts an std::string into an Ogre::UTFString
+        inline static bool convert(Ogre::UTFString* output, const std::string& input)
+        {
+            Ogre::UTFString::code_point cp;
+            for (unsigned int i = 0; i < input.size(); ++i)
+            {
+              cp = input[i];
+              cp &= 0xFF;
+              output->append(1, cp);
+            }
+            return true;
+        }
+    };
+}
+
+#endif /* _UTFStringConversions_H__ */
