Index: src/htmlgen.cpp
===================================================================
RCS file: /cygdrive/d/cvs_doxygen/doxygen/doxygen/src/htmlgen.cpp,v
retrieving revision 1.10.4.2
diff -u -r1.10.4.2 htmlgen.cpp
--- src/htmlgen.cpp	24 Feb 2013 09:51:32 -0000	1.10.4.2
+++ src/htmlgen.cpp	17 Mar 2013 19:48:36 -0000
@@ -1294,6 +1294,25 @@
                      m_t << "\\";
                    m_col++;
                    break;
+        // 3 byte multi-byte characters, see util.cpp convertCharEntitiesToUTF8
+        case '\xE2':
+                   m_t << c;
+                   c=*p++;
+                   m_t << c;
+                   c=*p++;
+                   m_t << c;
+                   m_col++;
+                   break;
+        // 2 byte multi-byte characters, see util.cpp convertCharEntitiesToUTF8
+        case '\xC2':
+        case '\xC3':
+        case '\xCE':
+        case '\xCF':
+                   m_t << c;
+                   c=*p++;
+                   m_t << c;
+                   m_col++;
+                   break;
         default:   m_t << c;    
                    m_col++;                    
                    break;
Index: src/mangen.cpp
===================================================================
RCS file: /cygdrive/d/cvs_doxygen/doxygen/doxygen/src/mangen.cpp,v
retrieving revision 1.4.4.2
diff -u -r1.4.4.2 mangen.cpp
--- src/mangen.cpp	10 Mar 2013 10:20:23 -0000	1.4.4.2
+++ src/mangen.cpp	17 Mar 2013 19:47:26 -0000
@@ -344,6 +344,25 @@
                     break;
         case '\n':  t << "\n"; firstCol=TRUE; col=0; break;
         case '\\':  t << "\\"; col++; break;
+        // 3 byte multi-byte characters, see util.cpp convertCharEntitiesToUTF8
+        case '\xE2':
+                   t << c;
+                   c=*p++;
+                   t << c;
+                   c=*p++;
+                   t << c;
+                   col++;
+                   break;
+        // 2 byte multi-byte characters, see util.cpp convertCharEntitiesToUTF8
+        case '\xC2':
+        case '\xC3':
+        case '\xCE':
+        case '\xCF':
+                   t << c;
+                   c=*p++;
+                   t << c;
+                   col++;
+                   break;
         case '\"':  c = '\''; // no break!
         default:    t << c; firstCol=FALSE; col++; break;
       }
Index: src/rtfgen.cpp
===================================================================
RCS file: /cygdrive/d/cvs_doxygen/doxygen/doxygen/src/rtfgen.cpp,v
retrieving revision 1.6
diff -u -r1.6 rtfgen.cpp
--- src/rtfgen.cpp	20 Jan 2013 13:57:50 -0000	1.6
+++ src/rtfgen.cpp	17 Mar 2013 19:52:20 -0000
@@ -1763,8 +1763,8 @@
   //static char spaces[]="        ";
   if (str)
   {
-    const unsigned char *p=(const unsigned char *)str;
-    unsigned char c;
+    const char *p=(const char *)str;
+    char c;
     int spacesToNextTabStop;
 
     while (*p)
@@ -1800,6 +1800,25 @@
         case '{':   t << "\\{"; col++;          break;
         case '}':   t << "\\}"; col++;          break;
         case '\\':  t << "\\\\"; col++;         break;
+        // 3 byte multi-byte characters, see util.cpp convertCharEntitiesToUTF8
+        case '\xE2':
+                    t << c;
+                    c=*p++;
+                    t << c;
+                    c=*p++;
+                    t << c;
+                    col++;
+                    break;
+        // 2 byte multi-byte characters, see util.cpp convertCharEntitiesToUTF8
+        case '\xC2':
+        case '\xC3':
+        case '\xCE':
+        case '\xCF':
+                    t << c;
+                    c=*p++;
+                    t << c;
+                    col++;
+                    break;
         default:    t << (char)c; col++;           break;
       }
     }
Index: src/util.cpp
===================================================================
RCS file: /cygdrive/d/cvs_doxygen/doxygen/doxygen/src/util.cpp,v
retrieving revision 1.10.2.2
diff -u -r1.10.2.2 util.cpp
--- src/util.cpp	3 Mar 2013 20:01:17 -0000	1.10.2.2
+++ src/util.cpp	17 Mar 2013 20:02:13 -0000
@@ -5467,6 +5467,13 @@
 
   if (init)
   {
+    // when adding items here with new first byte also adjust:
+    //   file        routine
+    //   =========== =====================
+    //   htmlgen.cpp codify
+    //   mangen.cpp  codify
+    //   rtfgen.cpp  codify
+    //   xmlgen.cpp  writeXMLCodeString
     entityMap.insert("copy",       "\xC2\xA9");
     entityMap.insert("tm",         "\xE2\x84\xA2");
     entityMap.insert("trade",      "\xE2\x84\xA2");
Index: src/xmlgen.cpp
===================================================================
RCS file: /cygdrive/d/cvs_doxygen/doxygen/doxygen/src/xmlgen.cpp,v
retrieving revision 1.7
diff -u -r1.7 xmlgen.cpp
--- src/xmlgen.cpp	10 Feb 2013 09:38:59 -0000	1.7
+++ src/xmlgen.cpp	17 Mar 2013 19:59:56 -0000
@@ -140,6 +140,25 @@
       case '&':  t << "&amp;"; col++;  break;
       case '\'': t << "&apos;"; col++; break; 
       case '"':  t << "&quot;"; col++; break;
+      // 3 byte multi-byte characters, see util.cpp convertCharEntitiesToUTF8
+      case '\xE2':
+                 t << c;
+                 c=*s++;
+                 t << c;
+                 c=*s++;
+                 t << c;
+                 col++;
+                 break;
+      // 2 byte multi-byte characters, see util.cpp convertCharEntitiesToUTF8
+      case '\xC2':
+      case '\xC3':
+      case '\xCE':
+      case '\xCF':
+                 t << c;
+                 c=*s++;
+                 t << c;
+                 col++;
+                 break;
       default:   t << c; col++;        break;         
     }
   } 
