diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c
index f424112890..d26ff63e1d 100644
--- a/src/bin/initdb/initdb.c
+++ b/src/bin/initdb/initdb.c
@@ -1165,9 +1165,9 @@ bootstrap_template1(void)
 
 	bki_lines = replace_token(bki_lines, "ENCODING", encodingid);
 
-	bki_lines = replace_token(bki_lines, "LC_COLLATE", lc_collate);
+	bki_lines = replace_token(bki_lines, "LC_COLLATE", escape_quotes(lc_collate));
 
-	bki_lines = replace_token(bki_lines, "LC_CTYPE", lc_ctype);
+	bki_lines = replace_token(bki_lines, "LC_CTYPE", escape_quotes(lc_ctype));
 
 	/*
 	 * Pass correct LC_xxx environment to bootstrap.
@@ -2276,8 +2276,8 @@ strreplace(char *str, char *needle, char *replacement)
 #endif /* WIN32 */
 
 /*
- * Windows has a problem with locale names that have a dot or apostrophe in
- * the country name. For example:
+ * Windows has a problem with locale names that have a dot in the country
+ * name. For example:
  *
  * "Chinese (Traditional)_Hong Kong S.A.R..950"
  *
@@ -2295,15 +2295,15 @@ localemap(char *locale)
 
 #ifdef WIN32
 	/*
-	 * Map the full country name to an abbreviation that setlocale() accepts
-	 * "China" and "HKG" are listed here:
+	 * Map the full country name to an abbreviation that setlocale() accepts.
+	 *
+	 * "HKG" is listed here:
 	 * http://msdn.microsoft.com/en-us/library/cdax410z%28v=vs.71%29.aspx
 	 * (Country/Region Strings).
 	 *
 	 * "ARE" is the ISO-3166 three-letter code for U.A.E. It is not on the
 	 * above list, but seems to work anyway.
 	 */
-	strreplace(locale, "People's Republic of China", "China");
 	strreplace(locale, "Hong Kong S.A.R.", "HKG");
 	strreplace(locale, "U.A.E.", "ARE");