Преглед изворни кода

* GlobalizationConfigurationHandler.cs: Handle creating some
the unicode encodings here so we can create ones without BOMs.

svn path=/trunk/mcs/; revision=20923

Jackson Harper пре 22 година
родитељ
комит
61cb04e1fd

+ 5 - 0
mcs/class/System.Web/System.Web.Configuration/ChangeLog

@@ -1,3 +1,8 @@
+2003-12-08  Jackson Harper <[email protected]>
+
+	* GlobalizationConfigurationHandler.cs: Handle creating some the unicode
+	encodings here so we can create ones without BOMs.
+	
 2003-12-02  Gonzalo Paniagua Javier <[email protected]>
 
 	* GlobalizationConfiguration.cs: return null when the configuration is

+ 24 - 2
mcs/class/System.Web/System.Web.Configuration/GlobalizationConfigurationHandler.cs

@@ -66,10 +66,32 @@ namespace System.Web.Configuration
 		{
 			Encoding encoding = null;
 			try {
-				encoding = Encoding.GetEncoding (enc);
+				switch (enc) {
+				case "UTF-16LE":
+				case "utf-16":
+				case "ucs-2":
+				case "unicode":
+				case "ISO-10646-UCS-2":
+					encoding = new UnicodeEncoding (false, true);
+					break;
+				case "UTF-16BE":
+				case "unicodeFFFE":
+					encoding = new UnicodeEncoding (true, true);
+                                        break;
+				case "utf-8":
+				case "unicode-1-1-utf-8":
+				case "unicode-2-0-utf-8":
+				case "x-unicode-1-1-utf-8":
+				case "x-unicode-2-0-utf-8":
+					encoding = new UTF8Encoding (false, false);
+					break;
+				default:
+					encoding = Encoding.GetEncoding (enc);
+					break;
+				}
 			} catch {
 				EncodingFailed (section, att, enc);
-				encoding = new UTF8Encoding ();
+				encoding = new UTF8Encoding (false, false);
 			}
 
 			return encoding;