8
8
/**
9
9
* Converts to and from the character encoding used by the backend.
10
10
*
11
- * $Id: Encoding.java,v 1.1 2001/07/21 18:52:11 momjian Exp $
11
+ * $Id: Encoding.java,v 1.2 2001/10/16 20:07:17 barry Exp $
12
12
*/
13
13
14
14
public class Encoding {
@@ -21,27 +21,40 @@ public class Encoding {
21
21
private static final Hashtable encodings =new Hashtable ();
22
22
23
23
static {
24
+ //Note: this list should match the set of supported server
25
+ // encodings found in backend/util/mb/encnames.c
24
26
encodings .put ("SQL_ASCII" ,new String [] {"ASCII" ,"us-ascii" });
25
27
encodings .put ("UNICODE" ,new String [] {"UTF-8" ,"UTF8" });
26
28
encodings .put ("LATIN1" ,new String [] {"ISO8859_1" });
27
29
encodings .put ("LATIN2" ,new String [] {"ISO8859_2" });
28
30
encodings .put ("LATIN3" ,new String [] {"ISO8859_3" });
29
31
encodings .put ("LATIN4" ,new String [] {"ISO8859_4" });
30
- encodings .put ("LATIN5" ,new String [] {"ISO8859_5" });
31
- encodings .put ("LATIN6" ,new String [] {"ISO8859_6" });
32
- encodings .put ("LATIN7" ,new String [] {"ISO8859_7" });
33
- encodings .put ("LATIN8" ,new String [] {"ISO8859_8" });
34
- encodings .put ("LATIN9" ,new String [] {"ISO8859_9" });
32
+ encodings .put ("ISO_8859_5" ,new String [] {"ISO8859_5" });
33
+ encodings .put ("ISO_8859_6" ,new String [] {"ISO8859_6" });
34
+ encodings .put ("ISO_8859_7" ,new String [] {"ISO8859_7" });
35
+ encodings .put ("ISO_8859_8" ,new String [] {"ISO8859_8" });
36
+ encodings .put ("LATIN5" ,new String [] {"ISO8859_9" });
37
+ encodings .put ("LATIN7" ,new String [] {"ISO8859_13" });
38
+ encodings .put ("LATIN9" ,new String [] {"ISO8859_15_FDIS" });
35
39
encodings .put ("EUC_JP" ,new String [] {"EUC_JP" });
36
40
encodings .put ("EUC_CN" ,new String [] {"EUC_CN" });
37
41
encodings .put ("EUC_KR" ,new String [] {"EUC_KR" });
38
42
encodings .put ("EUC_TW" ,new String [] {"EUC_TW" });
39
- encodings .put ("WIN" ,new String [] {"Cp1252" });
43
+ encodings .put ("SJIS" ,new String [] {"SJIS" });
44
+ encodings .put ("BIG5" ,new String [] {"Big5" });
45
+ encodings .put ("WIN1250" ,new String [] {"Cp1250" });
46
+ encodings .put ("WIN" ,new String [] {"Cp1251" });
47
+ encodings .put ("ALT" ,new String [] {"Cp866" });
40
48
// We prefer KOI8-U, since it is a superset of KOI8-R.
41
49
encodings .put ("KOI8" ,new String [] {"KOI8_U" ,"KOI8_R" });
42
50
// If the database isn't encoding-aware then we can't have
43
51
// any preferred encodings.
44
52
encodings .put ("UNKNOWN" ,new String [0 ]);
53
+ // The following encodings do not have a java equivalent
54
+ encodings .put ("MULE_INTERNAL" ,new String [0 ]);
55
+ encodings .put ("LATIN6" ,new String [0 ]);
56
+ encodings .put ("LATIN8" ,new String [0 ]);
57
+ encodings .put ("LATIN10" ,new String [0 ]);
45
58
}
46
59
47
60
private final String encoding ;