(DISTFILES): Comment out a few missing files.
[mono-project.git] / mcs / class / ByteFX.Data / mysqlclient / CharSetMap.cs
blob0644b7de50a432030b93cc6b210e1297d8b45b2e
1 using System;
2 using System.Text;
3 using System.Collections;
5 namespace ByteFX.Data.MySqlClient
7 /// <summary>
8 /// Summary description for CharSetMap.
9 /// </summary>
10 internal class CharSetMap
12 private static Hashtable mapping;
14 /// <summary>
15 ///
16 /// </summary>
17 /// <param name="MySqlCharSetName"></param>
18 /// <returns></returns>
19 public static Encoding GetEncoding( string MySqlCharSetName )
21 if (mapping == null )
22 InitializeMapping();
23 try
25 int cpid = (int)mapping[ MySqlCharSetName ];
26 return Encoding.GetEncoding( cpid );
28 catch (System.NotSupportedException)
30 return Encoding.GetEncoding(0);
34 /// <summary>
35 ///
36 /// </summary>
37 private static void InitializeMapping()
39 mapping = new Hashtable();
41 // relatively sure about
42 mapping.Add( "default", 0 );
43 mapping.Add( "big5", 950 ); // Traditional Chinese
44 mapping.Add( "latin1", 28591 ); // Latin alphabet #1
45 mapping.Add( "utf8", 65001 );
46 mapping.Add( "ucs2", 1200 );
47 mapping.Add( "latin2", 28592 );
48 mapping.Add( "latin4", 28594 );
49 mapping.Add( "latin3", 28593 );
50 mapping.Add( "latin5", 1254 );
51 mapping.Add( "cp1251", 1251 ); // Russian
52 mapping.Add( "win1251", 1251 );
53 mapping.Add( "hebrew", 1255 ); // Hebrew
54 mapping.Add( "greek", 1253 ); // Greek
55 mapping.Add( "sjis", 932 ); // Shift-JIS
56 mapping.Add( "gbk", 936 ); // Simplified Chinese
57 mapping.Add( "cp866", 866 );
58 mapping.Add( "euc_kr", 949 );
60 // maybe, maybe not...
61 mapping.Add( "win1250", 1250 ); // Central Eurpoe
62 mapping.Add( "win1251ukr", 1251 );
63 mapping.Add( "latin1_de", 1252 ); // Latin1 German
64 mapping.Add( "german1", 1252 ); // German
65 mapping.Add( "danish", 1252 ); // Danish
66 mapping.Add( "dos", 437 ); // Dos
67 mapping.Add( "pclatin2", 852 );
68 mapping.Add( "win1250ch", 1250 );
69 mapping.Add( "cp1257", 1257 );
70 mapping.Add( "usa7", 646 );
71 mapping.Add( "czech", 912 );
72 mapping.Add( "hungarian", 912 );
73 mapping.Add( "croat", 912 );
75 /* ("gb2312", "EUC_CN");
76 ("ujis", "EUC_JP");
77 ("latvian", "ISO8859_13");
78 ("latvian1", "ISO8859_13");
79 ("estonia", "ISO8859_13");
80 ("koi8_ru", "KOI8_R");
81 ("tis620", "TIS620");
82 ("macroman", "MacRoman");
83 ("macce", "MacCentralEurope");