diff -Nur source/ControlSocket.cpp source.patch/ControlSocket.cpp
--- source/ControlSocket.cpp	Tue May 30 22:06:00 2006
+++ source.patch/ControlSocket.cpp	Thu Jun 22 12:10:13 2006
@@ -84,7 +84,10 @@
 	m_antiHammeringWaitTime = 0;
 	m_bProtP = false;
 
-	m_useUTF8 = true;
+	if (m_pOwner->m_pOptions->GetOptionVal(OPTION_UTF8_OFF))
+		m_useUTF8 = false;
+	else
+		m_useUTF8 = true;
 }
 
 CControlSocket::~CControlSocket()
diff -Nur source/OptionTypes.h source.patch/OptionTypes.h
--- source/OptionTypes.h	Thu May 11 20:33:00 2006
+++ source.patch/OptionTypes.h	Thu Jun 22 12:31:11 2006
@@ -78,8 +78,9 @@
 #define OPTION_SHAREDWRITE 52
 #define OPTION_NOEXTERNALIPONLOCAL 53
 #define OPTION_ACTIVE_IGNORELOCAL 54
+#define OPTION_UTF8_OFF 55
 
-#define OPTIONS_NUM 54
+#define OPTIONS_NUM 55
 
 #define CONST_WELCOMEMESSAGE_LINESIZE 75
 
@@ -148,7 +149,8 @@
 												_T("SSL Key Password"),			0,	FALSE,
 												_T("Allow shared write"),		1,	FALSE,
 												_T("No External IP On Local"),	1,	FALSE,
-												_T("Active ignore local"),		1,	FALSE
+												_T("Active ignore local"),		1,	FALSE,
+												_T("UTF8 OFF by default"),		1,	FALSE
 											};
 
 #endif // OPTION_TYPES_INCLUDED
diff -Nur source/Options.cpp source.patch/Options.cpp
--- source/Options.cpp	Sat Apr 29 22:20:12 2006
+++ source.patch/Options.cpp	Thu Jun 22 12:08:20 2006
@@ -231,6 +231,10 @@
 		if (value < 0 || value > 1)
 			value = 0;
 		break;
+	case OPTION_UTF8_OFF:
+		if (value < 0 || value > 1)
+			value = 0;
+		break;
 	}
 
 	Init();
@@ -731,6 +735,9 @@
 				break;
 			case OPTION_ACTIVE_IGNORELOCAL:
 				m_sOptionsCache[nOptionID-1].value = 1;
+				break;
+			case OPTION_UTF8_OFF:
+				m_sOptionsCache[nOptionID-1].value = 0;
 				break;
 			default:
 				m_sOptionsCache[nOptionID-1].value = 0;
diff -Nur source/interface/FileZilla server.rc source.patch/interface/FileZilla server.rc
--- source/interface/FileZilla server.rc	Sun May 28 22:02:46 2006
+++ source.patch/interface/FileZilla server.rc	Thu Jun 22 12:04:00 2006
@@ -552,11 +552,11 @@
     LTEXT           "Static",IDC_TEXT,7,7,215,38
 END
 
-IDD_OPTIONS_GENERAL DIALOGEX 0, 0, 286, 208
+IDD_OPTIONS_GENERAL DIALOGEX 0, 0, 286, 222
 STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD
 FONT 8, "MS Shell Dlg", 0, 0, 0x1
 BEGIN
-    GROUPBOX        "Connection settings",IDC_STATIC,7,7,272,48
+    GROUPBOX        "Connection settings",IDC_STATIC,7,7,272,66
     LTEXT           "&Listen on these ports:",IDC_STATIC,13,20,76,8
     EDITTEXT        IDC_PORT,89,17,89,14,ES_AUTOHSCROLL
     LTEXT           "List of ports between 1 and 65535.",IDC_STATIC,184,15,
@@ -564,26 +564,28 @@
     LTEXT           "&Max. number of users:",IDC_STATIC,13,38,73,8
     EDITTEXT        IDC_MAXUSERS,89,35,40,14,ES_AUTOHSCROLL | ES_NUMBER
     LTEXT           "(0 for unlimited users)",IDC_STATIC,133,38,67,8
-    GROUPBOX        "Performance settings",IDC_STATIC,7,60,272,57
-    LTEXT           "&Number of Threads:",IDC_STATIC,14,75,64,8
-    EDITTEXT        IDC_THREADNUM,89,73,40,14,ES_AUTOHSCROLL | ES_NUMBER
+    CONTROL         "UTF8 OFF by default.",IDC_UTF8_OFF,"Button",
+                    BS_AUTOCHECKBOX | WS_TABSTOP,15,55,75,9
+    GROUPBOX        "Performance settings",IDC_STATIC,7,77,272,57
+    LTEXT           "&Number of Threads:",IDC_STATIC,14,94,64,8
+    EDITTEXT        IDC_THREADNUM,89,92,40,14,ES_AUTOHSCROLL | ES_NUMBER
     LTEXT           "This value should be a multiple of the number of processors installed on your system. Increase this value if your server is under heavy load.",
-                    IDC_STATIC,135,71,137,33
-    GROUPBOX        "Timeout settings",IDC_STATIC,7,123,272,78,0,
+                    IDC_STATIC,135,90,137,33
+    GROUPBOX        "Timeout settings",IDC_STATIC,7,137,272,78,0,
                     WS_EX_TRANSPARENT
-    LTEXT           "&Connections timeout:",IDC_STATIC,13,136,69,8
-    EDITTEXT        IDC_TIMEOUT,88,133,41,14,ES_AUTOHSCROLL | ES_NUMBER
+    LTEXT           "&Connections timeout:",IDC_STATIC,13,149,69,8
+    EDITTEXT        IDC_TIMEOUT,88,146,41,14,ES_AUTOHSCROLL | ES_NUMBER
     LTEXT           "in seconds (1-9999, 0 for no timeout)",IDC_STATIC,137,
-                    136,135,8
-    LTEXT           "No &Transfer timeout:",IDC_STATIC,13,155,68,8
-    EDITTEXT        IDC_TRANSFERTIMEOUT,88,152,41,14,ES_AUTOHSCROLL | 
+                    149,135,8
+    LTEXT           "No &Transfer timeout:",IDC_STATIC,13,168,68,8
+    EDITTEXT        IDC_TRANSFERTIMEOUT,88,165,41,14,ES_AUTOHSCROLL | 
                     ES_NUMBER
     LTEXT           "in seconds (1-9999, 0 for no timeout). This value specifies the time a user has to initiate a file transfer.",
-                    IDC_STATIC,137,148,135,26
-    LTEXT           "L&ogin timeout:",IDC_STATIC,13,184,45,8
-    EDITTEXT        IDC_LOGINTIMEOUT,88,180,41,14,ES_AUTOHSCROLL | ES_NUMBER
+                    IDC_STATIC,137,161,135,26
+    LTEXT           "L&ogin timeout:",IDC_STATIC,13,197,45,8
+    EDITTEXT        IDC_LOGINTIMEOUT,88,193,41,14,ES_AUTOHSCROLL | ES_NUMBER
     LTEXT           "in seconds (1-9999, 0 for no timeout). This value specifies the time in which a new user has to login.",
-                    IDC_STATIC,137,175,136,26
+                    IDC_STATIC,137,188,136,26
 END
 
 IDD_OFFLINEASK DIALOG  0, 0, 147, 89
diff -Nur source/interface/OptionsGeneralPage.cpp source.patch/interface/OptionsGeneralPage.cpp
--- source/interface/OptionsGeneralPage.cpp	Thu Mar 24 18:42:14 2005
+++ source.patch/interface/OptionsGeneralPage.cpp	Thu Jun 22 11:58:23 2006
@@ -42,6 +42,7 @@
 	//{{AFX_DATA_INIT(COptionsGeneralPage)
 	m_MaxUsers = _T("");
 	m_Port = _T("");
+	m_bUTF8OFF = FALSE;
 	m_Threadnum = _T("");
 	m_Timeout = _T("");
 	m_NoTransferTimeout = _T("");
@@ -57,6 +58,7 @@
 	DDX_Text(pDX, IDC_MAXUSERS, m_MaxUsers);
 	DDV_MaxChars(pDX, m_MaxUsers, 9);
 	DDX_Text(pDX, IDC_PORT, m_Port);
+	DDX_Check(pDX, IDC_UTF8_OFF, m_bUTF8OFF);
 	DDX_Text(pDX, IDC_THREADNUM, m_Threadnum);
 	DDV_MaxChars(pDX, m_Threadnum, 2);
 	DDX_Text(pDX, IDC_TIMEOUT, m_Timeout);
@@ -145,6 +147,7 @@
 void COptionsGeneralPage::LoadData()
 {
 	m_Port = m_pOptionsDlg->GetOption(OPTION_SERVERPORT);	
+	m_bUTF8OFF = m_pOptionsDlg->GetOptionVal(OPTION_UTF8_OFF) != 0;	
 	m_Threadnum.Format("%d", m_pOptionsDlg->GetOptionVal(OPTION_THREADNUM));	
 	m_MaxUsers.Format("%d", m_pOptionsDlg->GetOptionVal(OPTION_MAXUSERS));	
 	m_Timeout.Format("%d", m_pOptionsDlg->GetOptionVal(OPTION_TIMEOUT));	
@@ -155,9 +158,10 @@
 void COptionsGeneralPage::SaveData()
 {
 	m_pOptionsDlg->SetOption(OPTION_SERVERPORT, m_Port);
+	m_pOptionsDlg->SetOption(OPTION_UTF8_OFF, m_bUTF8OFF);
 	m_pOptionsDlg->SetOption(OPTION_THREADNUM, atoi(m_Threadnum));
 	m_pOptionsDlg->SetOption(OPTION_MAXUSERS, atoi(m_MaxUsers));
 	m_pOptionsDlg->SetOption(OPTION_TIMEOUT, atoi(m_Timeout));
 	m_pOptionsDlg->SetOption(OPTION_NOTRANSFERTIMEOUT, atoi(m_NoTransferTimeout));
 	m_pOptionsDlg->SetOption(OPTION_LOGINTIMEOUT, atoi(m_LoginTimeout));
-}
\ No newline at end of file
+}
diff -Nur source/interface/OptionsGeneralPage.h source.patch/interface/OptionsGeneralPage.h
--- source/interface/OptionsGeneralPage.h	Sun Jun  6 18:35:46 2004
+++ source.patch/interface/OptionsGeneralPage.h	Thu Jun 22 11:55:52 2006
@@ -66,6 +66,9 @@
 		// HINWEIS: Der Klassen-Assistent fügt hier Member-Funktionen ein
 	//}}AFX_MSG
 	DECLARE_MESSAGE_MAP()
+
+public:
+	BOOL m_bUTF8OFF;
 };
 
 //{{AFX_INSERT_LOCATION}}
diff -Nur source/interface/resource.h source.patch/interface/resource.h
--- source/interface/resource.h	Wed Mar  8 18:02:38 2006
+++ source.patch/interface/resource.h	Thu Jun 22 11:54:21 2006
@@ -257,6 +257,7 @@
 #define IDC_SHAREWRITE                  1197
 #define IDC_CHECK1                      1198
 #define IDC_ACTIVE_IGNORELOCAL          1199
+#define IDC_UTF8_OFF			1200
 #define ID_ACTIVE                       32768
 #define ID_DIRMENU_ADD                  32769
 #define ID_DIRMENU_REMOVE               32770
@@ -304,7 +305,7 @@
 #define _APS_3D_CONTROLS                     1
 #define _APS_NEXT_RESOURCE_VALUE        167
 #define _APS_NEXT_COMMAND_VALUE         32805
-#define _APS_NEXT_CONTROL_VALUE         1200
+#define _APS_NEXT_CONTROL_VALUE         1201
 #define _APS_NEXT_SYMED_VALUE           1228
 #endif
 #endif
