Alexander Barkov wrote:
> Hello Bill,
>
> thank you for contribution!
> We need to do some changes before we can add it into the sources,.
> The problem is that cp500 is a separate character set, it is not
> a collation for latin1. Thus, you should not add it into latin1.xml.
> It should be as a separate file, with Unicode/Upper/Lower mapping.
> You can use latin1.xml as an example.
>
Well I forgot to cc this to the list. Here it is. Let me know if this is
OK.
Cheers
Bill
--
What's the difference between Linux and Windoze?
Linux - Thousands of programmers are working *WITH* you.
Windoze - Thousands of programmers are working *AGAINST* you.
diff -u -r --new-file mysql-4.1.11-orig/config.h.in mysql-4.1.11/config.h.in
--- mysql-4.1.11-orig/config.h.in 2005-04-01 21:37:20.000000000 +1000
+++ mysql-4.1.11/config.h.in 2005-04-15 14:17:24.668824191 +1000
@@ -99,6 +99,9 @@
/* Define to enable charset cp1257 */
#undef HAVE_CHARSET_cp1257
+/* Define to enable charset cp500 */
+#undef HAVE_CHARSET_cp500
+
/* Define to enable charset cp850 */
#undef HAVE_CHARSET_cp850
diff -u -r --new-file mysql-4.1.11-orig/configure mysql-4.1.11/configure
--- mysql-4.1.11-orig/configure 2005-04-01 21:38:07.000000000 +1000
+++ mysql-4.1.11/configure 2005-04-15 14:17:25.553661456 +1000
@@ -9,7 +9,7 @@
DEFAULT_CHARSET=latin1
-CHARSETS_AVAILABLE="binary armscii8 ascii big5 cp1250 cp1251 cp1256 cp1257 cp850 cp852
cp866 dec8 euckr gb2312 gbk geostd8 greek hebrew hp8 keybcs2 koi8r koi8u latin1 latin2
latin5 latin7 macce macroman sjis swe7 tis620 ucs2 ujis utf8"
+CHARSETS_AVAILABLE="binary armscii8 ascii big5 cp1250 cp1251 cp1256 cp1257 cp500 cp850
cp852 cp866 dec8 euckr gb2312 gbk geostd8 greek hebrew hp8 keybcs2 koi8r koi8u latin1
latin2 latin5 latin7 macce macroman sjis swe7 tis620 ucs2 ujis utf8"
CHARSETS_COMPLEX="big5 cp1250 euckr gb2312 gbk latin1 latin2 sjis tis620 ucs2 ujis utf8"
# Guess values for system-dependent variables and create Makefiles.
@@ -1132,7 +1132,7 @@
Default character set, use one of:
binary
armscii8 ascii big5 cp1250 cp1251 cp1256 cp1257
- cp850 cp852 cp866 dec8 euckr gb2312 gbk geostd8
+ cp500 cp850 cp852 cp866 dec8 euckr gb2312 gbk geostd8
greek hebrew hp8 keybcs2 koi8r koi8u
latin1 latin2 latin5 latin7 macce macroman
sjis swe7 tis620 ucs2 ujis utf8
@@ -37289,6 +37289,13 @@
_ACEOF
;;
+ cp500)
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_CHARSET_cp500 1
+_ACEOF
+
+ ;;
cp850)
cat >>confdefs.h <<\_ACEOF
@@ -37579,6 +37586,10 @@
default_charset_default_collation="cp1257_general_ci"
default_charset_collations="cp1257_general_ci cp1257_lithuanian_ci cp1257_bin"
;;
+ cp500)
+ default_charset_default_collation="cp500_general_ci"
+ default_charset_collations="cp500_general_ci cp500_bin"
+ ;;
cp850)
default_charset_default_collation="cp850_general_ci"
default_charset_collations="cp850_general_ci cp850_bin"
diff -u -r --new-file mysql-4.1.11-orig/configure.in mysql-4.1.11/configure.in
--- mysql-4.1.11-orig/configure.in 2005-04-01 21:36:51.000000000 +1000
+++ mysql-4.1.11/configure.in 2005-04-15 14:17:26.112558664 +1000
@@ -2436,7 +2436,7 @@
define(CHARSETS_AVAILABLE0,binary)
define(CHARSETS_AVAILABLE1,armscii8 ascii big5 cp1250 cp1251 cp1256 cp1257)
-define(CHARSETS_AVAILABLE2,cp850 cp852 cp866 dec8 euckr gb2312 gbk geostd8)
+define(CHARSETS_AVAILABLE2,cp500 cp850 cp852 cp866 dec8 euckr gb2312 gbk geostd8)
define(CHARSETS_AVAILABLE3,greek hebrew hp8 keybcs2 koi8r koi8u)
define(CHARSETS_AVAILABLE4,latin1 latin2 latin5 latin7 macce macroman)
define(CHARSETS_AVAILABLE5,sjis swe7 tis620 ucs2 ujis utf8)
@@ -2523,6 +2523,9 @@
cp1257)
AC_DEFINE(HAVE_CHARSET_cp1257, 1, [Define to enable charset cp1257])
;;
+ cp500)
+ AC_DEFINE(HAVE_CHARSET_cp500, 1, [Define to enable charset cp500])
+ ;;
cp850)
AC_DEFINE(HAVE_CHARSET_cp850, 1, [Define to enable charset cp850])
;;
@@ -2658,6 +2661,10 @@
default_charset_default_collation="cp1257_general_ci"
default_charset_collations="cp1257_general_ci cp1257_lithuanian_ci cp1257_bin"
;;
+ cp500)
+ default_charset_default_collation="cp500_general_ci"
+ default_charset_collations="cp500_general_ci cp500_bin"
+ ;;
cp850)
default_charset_default_collation="cp850_general_ci"
default_charset_collations="cp850_general_ci cp850_bin"
diff -u -r --new-file mysql-4.1.11-orig/sql/share/charsets/cp500.xml
mysql-4.1.11/sql/share/charsets/cp500.xml
--- mysql-4.1.11-orig/sql/share/charsets/cp500.xml 1970-01-01 10:00:00.000000000 +1000
+++ mysql-4.1.11/sql/share/charsets/cp500.xml 2005-04-15 14:22:14.413503101 +1000
@@ -0,0 +1,139 @@
+<?xml version='1.0' encoding="utf-8"?>
+
+<charsets>
+
+<copyright>
+ Copyright (C) 2003 MySQL AB
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+</copyright>
+
+<charset name="cp500">
+
+<ctype>
+<map>
+ 00
+ 20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20
+ 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+ 48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+ 84 84 84 84 84 84 84 84 84 84 10 10 10 10 10 10
+ 10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01
+ 01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10
+ 10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02
+ 02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 20
+ 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
+ 01 01 01 01 01 01 01 00 01 01 01 01 01 01 01 02
+ 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
+ 02 02 02 02 02 02 02 00 02 02 02 02 02 02 02 02
+</map>
+</ctype>
+
+
+<lower>
+<map>
+ 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
+ 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
+ 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
+ 40 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
+ 70 71 72 73 74 75 76 77 78 79 7A 5B 5C 5D 5E 5F
+ 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
+ 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
+ 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
+ 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
+ B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
+ E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
+ F0 F1 F2 F3 F4 F5 F6 D7 F8 F9 FA FB FC FD FE DF
+ E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
+ F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
+</map>
+</lower>
+
+
+<upper>
+<map>
+ 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
+ 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
+ 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
+ 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
+ 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
+ 60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
+ 50 51 52 53 54 55 56 57 58 59 5A 7B 7C 7D 7E 7F
+ 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
+ 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
+ B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
+ C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
+ D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
+ C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
+ D0 D1 D2 D3 D4 D5 D6 F7 D8 D9 DA DB DC DD DE FF
+</map>
+</upper>
+
+
+<unicode>
+<map>
+ 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
+ 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
+ 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
+ 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
+ 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
+ 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
+ 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
+ 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
+ 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008A 008B 008C 008D 008E 008F
+ 0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009A 009B 009C 009D 009E 009F
+ 00A0 00A1 00A2 00A3 00A4 00A5 00A6 00A7 00A8 00A9 00AA 00AB 00AC 00AD 00AE 00AF
+ 00B0 00B1 00B2 00B3 00B4 00B5 00B6 00B7 00B8 00B9 00BA 00BB 00BC 00BD 00BE 00BF
+ 00C0 00C1 00C2 00C3 00C4 00C5 00C6 00C7 00C8 00C9 00CA 00CB 00CC 00CD 00CE 00CF
+ 00D0 00D1 00D2 00D3 00D4 00D5 00D6 00D7 00D8 00D9 00DA 00DB 00DC 00DD 00DE 00DF
+ 00E0 00E1 00E2 00E3 00E4 00E5 00E6 00E7 00E8 00E9 00EA 00EB 00EC 00ED 00EE 00EF
+ 00F0 00F1 00F2 00F3 00F4 00F5 00F6 00F7 00F8 00F9 00FA 00FB 00FC 00FD 00FE 00FF
+</map>
+</unicode>
+
+
+<collation name="cp500_general_ci">
+<map>
+ 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
+ 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
+ 40 5A 7F 7B 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61
+ F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F
+ 7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6
+ D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 AD E0 BD 5E 6D
+ 79 C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6
+ D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 C0 4F D0 A1 7F
+ 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
+ 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
+ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
+ B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
+ 41 41 41 41 5C 5B 5C 43 45 45 45 45 49 49 49 49
+ 44 4E 4F 4F 4F 4F 5D D7 D8 55 55 55 59 59 DE DF
+ 41 41 41 41 5C 5B 5C 43 45 45 45 45 49 49 49 49
+ 44 4E 4F 4F 4F 4F 5D F7 D8 55 55 55 59 59 DE FF
+</map>
+</collation>
+
+<collation name="cp500_bin" flag="binary"/>
+
+</charset>
+
+</charsets>
diff -u -r --new-file mysql-4.1.11-orig/sql/share/charsets/Index.xml
mysql-4.1.11/sql/share/charsets/Index.xml
--- mysql-4.1.11-orig/sql/share/charsets/Index.xml 2005-04-01 21:57:21.000000000 +1000
+++ mysql-4.1.11/sql/share/charsets/Index.xml 2005-04-15 14:22:14.986397472 +1000
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding="utf-8"?>
-<charsets max-id="94">
+<charsets max-id="96">
<copyright>
Copyright (C) 2003 MySQL AB
@@ -553,5 +553,24 @@
</collation>
</charset>
+<charset name="cp500">
+ <family>Western</family>
+ <description>EBCDIC West European</description>
+ <alias>500</alias>
+ <alias>cspc500multilingual</alias>
+ <alias>ibm500</alias>
+ <collation name="cp500_general_ci" id="95" order="Swedish" flag="primary">
+ <order>Dutch</order>
+ <order>English</order>
+ <order>French</order>
+ <order>German Duden</order>
+ <order>Italian</order>
+ <order>Latin</order>
+ <order>Portuguese</order>
+ <order>Spanish</order>
+ </collation>
+ <collation name="cp500_bin" id="96" order="Binary" flag="binary"/>
+</charset>
+
</charsets>
diff -u -r --new-file mysql-4.1.11-orig/sql/share/charsets/languages.html
mysql-4.1.11/sql/share/charsets/languages.html
--- mysql-4.1.11-orig/sql/share/charsets/languages.html 2005-04-01 21:57:19.000000000
+1000
+++ mysql-4.1.11/sql/share/charsets/languages.html 2005-04-15 14:22:15.426316360 +1000
@@ -244,7 +244,7 @@
-list="big5 dec8 cp850 hp8 koi8r latin1 latin2 swe7 ascii ujis sjis hebrew euckr koi8u
gb2312 greek cp1250 gbk latin5 armscii8 cp866 keybcs2 macce macroman cp852 latin7 cp1251
cp1256 cp1257 geostd8"
+list="big5 dec8 cp850 hp8 koi8r latin1 latin2 swe7 ascii ujis sjis hebrew euckr koi8u
gb2312 greek cp1250 gbk latin5 armscii8 cp866 keybcs2 macce macroman cp852 latin7 cp1251
cp1256 cp1257 geostd8 cp500"
for p in $list
do