diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog
index ed909933d15a93c572c138557750739f8a228cc2..f81453ba28cacca538adbe7837dc3d667eac0001 100644
--- a/src/interfaces/ecpg/ChangeLog
+++ b/src/interfaces/ecpg/ChangeLog
@@ -989,5 +989,11 @@ Wed Oct 25 08:53:07 CEST 2000
 Wed Oct 25 21:22:17 CEST 2000
 
 	- Synced gram.y and preproc.y.
+
+Son Oct 29 11:26:06 CET 2000
+
+	- Removed multibyte stuff since client does not know about encoding
+	  in the backend.
+	- Fixed quoting bug reported by Sascha Demetrio (sd@b-comp.de).
 	- Set ecpg version to 2.8.0. 
 	- Set library version to 3.2.0.
diff --git a/src/interfaces/ecpg/lib/execute.c b/src/interfaces/ecpg/lib/execute.c
index de27637ea7600f8ce57d2f1014e088ce20eb165b..f1d11105f074d1d4eb2839ecc362962b08f98eed 100644
--- a/src/interfaces/ecpg/lib/execute.c
+++ b/src/interfaces/ecpg/lib/execute.c
@@ -102,6 +102,7 @@ quote_postgres(char *arg, int lineno)
 		return (res);
 
 	res[ri++] = '\'';
+		
 	for (i = 0; arg[i]; i++, ri++)
 	{
 		switch (arg[i])
@@ -118,6 +119,7 @@ quote_postgres(char *arg, int lineno)
 
 		res[ri] = arg[i];
 	}
+	
 	res[ri++] = '\'';
 	res[ri] = '\0';
 
@@ -247,10 +249,17 @@ next_insert(char *text)
 	char	   *ptr = text;
 	bool		string = false;
 
+printf("%s\n", text);
 	for (; *ptr != '\0' && (*ptr != '?' || string); ptr++)
-		if (*ptr == '\'' && *(ptr - 1) != '\\')
-			string = string ? false : true;
+	{
+		if (*ptr == '\\') /* escape character */
+			ptr++;
+		else
+			if (*ptr == '\'' )
+				string = string ? false : true;
+	}
 
+printf("%s\n", ptr);
 	return (*ptr == '\0') ? NULL : ptr;
 }
 
@@ -704,7 +713,6 @@ ECPGexecute(struct statement * stmt)
 		strcpy(newcopy, copiedquery);
 		if ((p = next_insert(newcopy + hostvarl)) == NULL)
 		{
-
 			/*
 			 * We have an argument but we dont have the matched up string
 			 * in the string
@@ -995,7 +1003,7 @@ ECPGdo(int lineno, const char *connection_name, char *query,...)
  *
  * Copyright (c) 2000, Christof Petig <christof.petig@wtal.de>
  *
- * $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/execute.c,v 1.12 2000/10/02 16:15:53 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/execute.c,v 1.13 2000/10/29 09:44:58 meskes Exp $
  */
 
 PGconn	   *ECPG_internal_get_connection(char *name);
diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y
index 9b32dd546d0c54ecc85b7a92d90ecf0761cd0c9b..eb4a03cbf7b875cd1c75d790c67ce5b148069774 100644
--- a/src/interfaces/ecpg/preproc/preproc.y
+++ b/src/interfaces/ecpg/preproc/preproc.y
@@ -11,10 +11,6 @@
 
 #include "extern.h"
 
-#ifdef MULTIBYTE
-#include "mb/pg_wchar.h"
-#endif
-
 /*
  * Variables containing simple states.
  */
@@ -838,11 +834,7 @@ VariableSetStmt:  SET ColId TO var_value
 				}
 		| SET NAMES opt_encoding
                                 {
-#ifdef MULTIBYTE
 					$$ = cat2_str(make_str("set names"), $3);
-#else
-                                        mmerror(ET_ERROR, "SET NAMES is not supported.");
-#endif
                                 }
                 ;
 
@@ -2252,16 +2244,10 @@ createdb_opt_location:  LOCATION '=' StringConst	{ $$ = cat2_str(make_str("locat
 
 createdb_opt_encoding:  ENCODING '=' PosIntStringConst  
 			{
-#ifndef MULTIBYTE
-				mmerror(ET_ERROR, "Multi-byte support is not enabled.");
-#endif
 				$$ = cat2_str(make_str("encoding ="), $3);
 			}
 		| ENCODING '=' DEFAULT
 			{
-#ifndef MULTIBYTE
-				mmerror(ET_ERROR, "Multi-byte support is not enabled.");
-#endif
 				$$ = make_str("encoding = default");
 			}
                 | /*EMPTY*/	        { $$ = NULL; }