diff --git a/obj/Makefile.in b/obj/Makefile.in
index cce7b7900923b5e938c2945310213a7f40b95567..2fe4bd691c314e249bf6b751e44aed6ad917ce5a 100644
--- a/obj/Makefile.in
+++ b/obj/Makefile.in
@@ -1,7 +1,7 @@
 #
 # The Apache Software License, Version 1.1
 #
-# Copyright (c) 1999-2000 The Apache Software Foundation.  All rights
+# Copyright (c) 1999-2003 The Apache Software Foundation.  All rights
 # reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -86,7 +86,7 @@ include ../src/xercesc/Makefile.incl
 LIB=${XERCESCROOT}/lib
 ## OS390BATCH
 ifeq (${OS390BATCH},1)
-BATCH_TARGET = "//'${LOADMOD}(IXM4C51)'"
+BATCH_TARGET = "//'${LOADMOD}(IXM4C54)'"
 endif
 ifneq (${PLATFORM}, OS400)
 ifeq (${PLATFORM}, CYGWIN)
diff --git a/samples/Makefile.incl b/samples/Makefile.incl
index 83302c4fc2898354d32a121441678d2eedc092b5..3b24a4b18740c15ecda39a69442c9280319cdcaa 100644
--- a/samples/Makefile.incl
+++ b/samples/Makefile.incl
@@ -1,7 +1,7 @@
 #
 # The Apache Software License, Version 1.1
 #
-# Copyright (c) 1999-2001 The Apache Software Foundation.  All rights
+# Copyright (c) 1999-2003 The Apache Software Foundation.  All rights
 # reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -297,17 +297,17 @@ endif
 #   export LOADMOD=USERID.LOAD                                    #
 #   export LOADEXP=SYS1.SIXMEXP or &hlq.SIXMEXP                   #
 #                                                                 #
-# to specify your LOADMOD and the IXM4C52X definition sidedeck    #
-# dataset.  													  #
+# to specify your LOADMOD and the IXM4C54X definition sidedeck    #
+# dataset.  				                          #
 ###################################################################
 
 ifeq (${PLATFORM}, OS390)
 CMP= -c -DOS390 ${CXXFLAGS}
 ## OS390BATCH
 ifeq (${OS390BATCH},1)
-CC = _CXX_CXXSUFFIX="cpp" _CXX_STEPS="-1" c++ -W0,"langlvl(extended)" -Wc,"TMPLPARSE(NO)" -DOS390 -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED -DOS390BATCH
+CC = _CXX_CXXSUFFIX="cpp" c++ -W0,"langlvl(extended)" -Wc,"TMPLPARSE(NO)" -DOS390 -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED -DOS390BATCH
 else
-CC = _CXX_CXXSUFFIX="cpp" _CXX_STEPS="-1" c++ -W0,"langlvl(extended)" -Wc,"TMPLPARSE(NO)" -DOS390 -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED
+CC = _CXX_CXXSUFFIX="cpp" c++ -W0,"langlvl(extended)" -Wc,"TMPLPARSE(NO)" -DOS390 -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED
 endif
 LINK =  ${CC} ${LDFLAGS}
 PLATFORM_LIB_LINK_OPTIONS=
@@ -316,7 +316,7 @@ SHLIBSUFFIX=.dll
 OS390SIDEDECK=.x
 ## OS390BATCH
 ifeq (${OS390BATCH},1)
-LIBRARY_NAMES="//'${LOADEXP}(IXM4C52X)'"
+LIBRARY_NAMES="//'${LOADEXP}(IXM4C54X)'"
 else
 LIBRARY_NAMES=${LIB_DIR}/lib${LIBNAME}${VER}${OS390SIDEDECK}
 endif
diff --git a/samples/configure b/samples/configure
index 961e274f2de66c9b2d97143c2b87808ae370348d..ecab4b9c0eb227de57baf1ef5b5f1c5670149fff 100755
--- a/samples/configure
+++ b/samples/configure
@@ -1373,6 +1373,7 @@ case "${host}" in
                             *)            osver=HPUX11;;
                         esac;;
         *-*-mvs*)       platform=OS390 ;;
+        *-*ibm-openedition*|*-*-os390*) platform=OS390;;
         *-*-os400*)     platform=OS400 ;;
         *-*-OS400*)     platform=OS400 ;;
         *-*-osf*)       platform=TRU64 ;;
@@ -1481,7 +1482,11 @@ s%\[%\\&%g
 s%\]%\\&%g
 s%\$%$$%g
 EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+if test "$platform"="OS400" || test "$platform" = "OS390";then
+DEFS=`sed -f conftest.defs confdefs.h | tr '\n' ' '`          
+else                                                          
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`        
+fi                                                            
 rm -f conftest.defs
 
 
diff --git a/src/xercesc/Makefile.incl b/src/xercesc/Makefile.incl
index 09e67d29e69071d7eeb4b09bb32446f482c83caf..aa99b1f8b24365db0c8b1cf7da9d41ad0558aae5 100644
--- a/src/xercesc/Makefile.incl
+++ b/src/xercesc/Makefile.incl
@@ -1,7 +1,7 @@
 #
 # The Apache Software License, Version 1.1
 #
-# Copyright (c) 1999-2001 The Apache Software Foundation.  All rights
+# Copyright (c) 1999-2003 The Apache Software Foundation.  All rights
 # reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -490,8 +490,10 @@ endif
 
 #================ OS/390 SPECIFIC OPTIONS =========================
 ifeq (${PLATFORM}, OS390)
-PLATFORM_CPP_COMPILER = _CXX_CXXSUFFIX="cpp" _CXX_STEPS="-1" c++
-PLATFORM_C_COMPILER = _CXX_CXXSUFFIX="cpp" _CXX_STEPS="-1" cc
+PLATFORM_CPP_COMPILER = _CXX_CXXSUFFIX="cpp" c++
+PLATFORM_C_COMPILER = _CXX_CXXSUFFIX="cpp" cc
+##PLATFORM_CPP_COMPILER = _CXX_CXXSUFFIX="cpp" _CXX_STEPS="-1" c++
+##PLATFORM_C_COMPILER = _CXX_CXXSUFFIX="cpp" _CXX_STEPS="-1" cc
 PLATFORM_LIBRARIES=
 ## OS390BATCH
 ifeq (${OS390BATCH},1)
@@ -504,7 +506,7 @@ MAKE_SHARED_C = ${PLATFORM_C_COMPILER} -D${PLATFORM} -W l,dll ${LDFLAGS}
 ifeq (${TRANSCODER}, ICU)
 ## OS390BATCH
     ifeq (${OS390BATCH},1)
-    ALLLIBS = "//'${LOADEXP}(IXM24UCX)'"
+    ALLLIBS = "//'${LOADEXP}(IXM26UCX)'"
     else
     ALLLIBS = ${ICUROOT}/lib/libicuuc26.1.x
     endif
@@ -512,7 +514,7 @@ else
 ifeq (${TRANSCODER}, Uniconv390)
 ## OS390BATCH
     ifeq (${OS390BATCH},1)
-	 ALLLIBS = "//'${LOADEXP}(IXM24UCX)'"
+	 ALLLIBS = "//'${LOADEXP}(IXM26UCX)'"
     else
 	 ALLLIBS = ${ICUROOT}/lib/libicuuc26.1.x
     endif
diff --git a/src/xercesc/configure b/src/xercesc/configure
index d62dc8e3d240e36a587f800c8c4316a22dbeb641..d71f6f292de6dd9007a6012036e0ff3b42942783 100755
--- a/src/xercesc/configure
+++ b/src/xercesc/configure
@@ -1326,6 +1326,7 @@ case "${host}" in
                             *)            osver=HPUX11;;
                         esac;;
         *-*-mvs*)       platform=OS390 ;;
+        *-*ibm-openedition*|*-*-os390*) platform=OS390;;
         *-*-os400*)     platform=OS400 ;;
         *-*-OS400*)     platform=OS400 ;;
         *-*-osf*)		platform=TRU64 ;;
@@ -1455,7 +1456,11 @@ s%\[%\\&%g
 s%\]%\\&%g
 s%\$%$$%g
 EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+if test "$platform"="OS400" || test "$platform" = "OS390";then
+DEFS=`sed -f conftest.defs confdefs.h | tr '\n' ' '`          
+else                                                          
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`        
+fi                                                            
 rm -f conftest.defs
 
 
diff --git a/src/xercesc/util/Platforms/OS390/OS390PlatformUtils.cpp b/src/xercesc/util/Platforms/OS390/OS390PlatformUtils.cpp
index 8b084a4abd9ba32c97d8081044f19b0f6080d7c3..06b1f4f23cd9a4bbc7ff30d0c9b510b34044c4ff 100644
--- a/src/xercesc/util/Platforms/OS390/OS390PlatformUtils.cpp
+++ b/src/xercesc/util/Platforms/OS390/OS390PlatformUtils.cpp
@@ -1,7 +1,7 @@
 /*
  * The Apache Software License, Version 1.1
  *
- * Copyright (c) 1999-2002 The Apache Software Foundation.  All rights
+ * Copyright (c) 1999-2003 The Apache Software Foundation.  All rights
  * reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -869,15 +869,13 @@ XMLCh* XMLPlatformUtils::getFullPath(const XMLCh* const srcPath,
     Path390 pathobj;
     pathobj.setPath(newSrc);
 
-    char* retPath = 0;
     // Use a local buffer that is big enough for the largest legal path
     char *absPath = (char*) fgMemoryManager->allocate((_POSIX_PATH_MAX) * sizeof(char));//new char[_POSIX_PATH_MAX];
     ArrayJanitor<char> janText2(absPath, fgMemoryManager);
 
     if ( (pathobj.getPathType() == PATH390_HFS) || (pathobj.getPathType() == PATH390_OTHER) ) {
        //get the absolute path
-       char* retPath = realpath(pathobj.getfopenPath(), absPath);
-       if (!retPath) {
+       if (getcwd(absPath, _POSIX_PATH_MAX) == NULL) {
           ThrowXML(XMLPlatformUtilsException, XMLExcepts::File_CouldNotGetBasePathName);
           }
        return XMLString::transcode(absPath, manager);
diff --git a/src/xercesc/util/Transcoders/Uniconv390/Uniconv390TransService.cpp b/src/xercesc/util/Transcoders/Uniconv390/Uniconv390TransService.cpp
index 6b578f37b0b26fdfdcd6eb8b6b07cc0c78210ea6..425df85736193241a013be7d6a30c0acbdbc9f83 100644
--- a/src/xercesc/util/Transcoders/Uniconv390/Uniconv390TransService.cpp
+++ b/src/xercesc/util/Transcoders/Uniconv390/Uniconv390TransService.cpp
@@ -1,7 +1,7 @@
 /*
  * The Apache Software License, Version 1.1
  *
- * Copyright (c) 2002 The Apache Software Foundation.  All rights
+ * Copyright (c) 2002-2003 The Apache Software Foundation.  All rights
  * reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -218,6 +218,9 @@ Uniconv390TransService::~Uniconv390TransService()
       delete [] fCaseConverter;
       fCaseConverter=0;
    }
+   if (fICUService) {
+    delete  fICUService;
+   } 
 }
 
 // ---------------------------------------------------------------------------
diff --git a/src/xercesc/util/Transcoders/Uniconv390/ccsid.h b/src/xercesc/util/Transcoders/Uniconv390/ccsid.h
index 4ccc5ccfc3d78b19675d99656d68926b5933ba64..d230be59fbafa2616834defbc3be928584b51575 100644
--- a/src/xercesc/util/Transcoders/Uniconv390/ccsid.h
+++ b/src/xercesc/util/Transcoders/Uniconv390/ccsid.h
@@ -1,8 +1,7 @@
-
 /*
  * The Apache Software License, Version 1.1
  *
- * Copyright (c) 2002 The Apache Software Foundation.  All rights
+ * Copyright (c) 1999-2003 The Apache Software Foundation.  All rights
  * reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -57,13 +56,13 @@
 /*
  * $Id$
  */
-
+  
 /*****************************************************************
  * Do not manually change this file. It is generated automatically.
  *****************************************************************/
-
+ 
 #define _AE_MAX_CODESET_NAME_LENGTH    40
-#define _AE_NUM_OF_CODESETS   554
+#define _AE_NUM_OF_CODESETS   591
 
 struct ccsid_mapping {
    char NAME[_AE_MAX_CODESET_NAME_LENGTH];
@@ -71,558 +70,589 @@ struct ccsid_mapping {
 };
 
 struct ccsid_mapping CCSID_MAPPING[_AE_NUM_OF_CODESETS] =
-{ {"ADOBELATIN1ENCODING", 1277},
-{"ADOBESTANDARDENCODING", 1276},
-{"ARABIC", 1089},
-{"ASMO708", 1089},
-{"BIG5", 1370},
-{"CCSID01140", 1140},
-{"CCSID01141", 1141},
-{"CCSID01142", 1142},
-{"CCSID01143", 1143},
-{"CCSID01144", 1144},
-{"CCSID01145", 1145},
-{"CCSID01146", 1146},
-{"CCSID01147", 1147},
-{"CCSID01148", 1148},
-{"CCSID01149", 1149},
-{"CHINESE", 1383},
-{"CP01140", 1140},
-{"CP01141", 1141},
-{"CP01142", 1142},
-{"CP01143", 1143},
-{"CP01144", 1144},
-{"CP01145", 1145},
-{"CP01146", 1146},
-{"CP01147", 1147},
-{"CP01148", 1148},
-{"CP01149", 1149},
-{"CP037", 37},
-{"CP1008", 5104},
-{"CP1025", 1154},
-{"CP1027", 5123},
-{"CP1046", 9238},
-{"CP1089", 1089},
-{"CP1112", 1112},
-{"CP1122", 1122},
-{"CP1123", 1158},
-{"CP1125", 848},
-{"CP1130", 1164},
-{"CP1131", 849},
-{"CP1208", 1208},
-{"CP1250", 5346},
-{"CP1251", 5347},
-{"CP1252", 5348},
-{"CP1253", 5349},
-{"CP1254", 5350},
-{"CP1255", 5351},
-{"CP1256", 5352},
-{"CP1257", 5353},
-{"CP1258", 5354},
-{"CP1364", 1364},
-{"CP1383", 1383},
-{"CP273", 273},
-{"CP277", 277},
-{"CP278", 278},
-{"CP280", 280},
-{"CP284", 284},
-{"CP285", 285},
-{"CP28709", 1159},
-{"CP297", 297},
-{"CP33722", 33722},
-{"CP37", 37},
-{"CP420", 420},
-{"CP424", 424},
-{"CP437", 437},
-{"CP500", 500},
-{"CP65001", 1208},
-{"CP813", 4909},
-{"CP819", 819},
-{"CP850", 850},
-{"CP851", 851},
-{"CP852", 9044},
-{"CP855", 872},
-{"CP856", 856},
-{"CP857", 9049},
-{"CP858", 858},
-{"CP859", 859},
-{"CP860", 860},
-{"CP861", 861},
-{"CP862", 867},
-{"CP863", 863},
-{"CP864", 17248},
-{"CP865", 865},
-{"CP866", 808},
-{"CP867", 867},
-{"CP868", 868},
-{"CP869", 9061},
-{"CP870", 870},
-{"CP871", 871},
-{"CP875", 875},
-{"CP878", 878},
-{"CP9030", 1160},
-{"CP912", 912},
-{"CP913", 913},
-{"CP914", 914},
-{"CP915", 915},
-{"CP916", 916},
-{"CP918", 918},
-{"CP920", 920},
-{"CP921", 901},
-{"CP922", 902},
-{"CP923", 923},
-{"CP932", 943},
-{"CP933", 933},
-{"CP935", 935},
-{"CP936", 1386},
-{"CP937", 937},
-{"CP939", 939},
-{"CP943", 943},
-{"CP950", 1370},
-{"CPAR", 868},
-{"CPGR", 9061},
-{"CPIBM1047", 1047},
-{"CPIBM1123", 1123},
-{"CPIBM1140", 1140},
-{"CPIBM1141", 1141},
-{"CPIBM1142", 1142},
-{"CPIBM1143", 1143},
-{"CPIBM1144", 1144},
-{"CPIBM1145", 1145},
-{"CPIBM1146", 1146},
-{"CPIBM1147", 1147},
-{"CPIBM1148", 1148},
-{"CPIBM1149", 1149},
-{"CPIBM1153", 1153},
-{"CPIBM1154", 1154},
-{"CPIBM1156", 1156},
-{"CPIBM1157", 1157},
-{"CPIBM1158", 1158},
-{"CPIBM1160", 1160},
-{"CPIBM1164", 1164},
-{"CPIBM12712", 12712},
-{"CPIBM1371", 1371},
-{"CPIBM16804", 16804},
-{"CPIBM273", 273},
-{"CPIBM277", 277},
-{"CPIBM278", 278},
-{"CPIBM280", 280},
-{"CPIBM284", 284},
-{"CPIBM285", 285},
-{"CPIBM297", 297},
-{"CPIBM37", 37},
-{"CPIBM4971", 4971},
-{"CPIBM500", 500},
-{"CPIBM871", 871},
-{"CPIBM933", 933},
-{"CPIBM935", 935},
-{"CPIBM937", 937},
-{"CPIS", 861},
-{"CSADOBESTANDARDENCODING", 1276},
-{"CSBIG5", 1370},
-{"CSEUCKR", 970},
-{"CSGB2312", 1383},
-{"CSHPROMAN8", 1051},
-{"CSIBM037", 37},
-{"CSIBM273", 273},
-{"CSIBM277", 277},
-{"CSIBM278", 278},
-{"CSIBM280", 280},
-{"CSIBM284", 284},
-{"CSIBM285", 285},
-{"CSIBM297", 297},
-{"CSIBM420", 420},
-{"CSIBM424", 424},
-{"CSIBM500", 500},
-{"CSIBM855", 872},
-{"CSIBM857", 9049},
-{"CSIBM860", 860},
-{"CSIBM861", 861},
-{"CSIBM863", 863},
-{"CSIBM864", 17248},
-{"CSIBM865", 865},
-{"CSIBM866", 808},
-{"CSIBM868", 868},
-{"CSIBM869", 9061},
-{"CSIBM870", 870},
-{"CSIBM871", 871},
-{"CSIBM918", 918},
-{"CSISO58GB231280", 1383},
-{"CSISOLATIN0", 923},
-{"CSISOLATIN1", 819},
-{"CSISOLATIN2", 912},
-{"CSISOLATIN3", 913},
-{"CSISOLATIN4", 914},
-{"CSISOLATIN5", 920},
-{"CSISOLATIN9", 923},
-{"CSISOLATINARABIC", 1089},
-{"CSISOLATINCYRILLIC", 915},
-{"CSISOLATINGREEK", 4909},
-{"CSISOLATINHEBREW", 916},
-{"CSKOI8R", 878},
-{"CSKSC56011987", 949},
-{"CSMACINTOSH", 1275},
-{"CSPC850MULTILINGUAL", 850},
-{"CSPC851", 851},
-{"CSPC862LATINHEBREW", 867},
-{"CSPC8CODEPAGE437", 437},
-{"CSPCP852", 9044},
-{"CSPCP855", 872},
-{"CSSHIFTJIS", 943},
-{"CSWINDOWS31J", 943},
-{"CYRILLIC", 915},
-{"EBCDICAR", 16804},
-{"EBCDICCPAR1", 420},
-{"EBCDICCPAR2", 918},
-{"EBCDICCPBE", 500},
-{"EBCDICCPCA", 37},
-{"EBCDICCPCH", 500},
-{"EBCDICCPDK", 277},
-{"EBCDICCPES", 284},
-{"EBCDICCPFI", 278},
-{"EBCDICCPFR", 297},
-{"EBCDICCPGB", 285},
-{"EBCDICCPHE", 424},
-{"EBCDICCPIS", 871},
-{"EBCDICCPIT", 280},
-{"EBCDICCPNL", 37},
-{"EBCDICCPNO", 277},
-{"EBCDICCPROECE", 870},
-{"EBCDICCPSE", 278},
-{"EBCDICCPUS", 37},
-{"EBCDICCPWT", 37},
-{"EBCDICCPYU", 870},
-{"EBCDICDE", 273},
-{"EBCDICDK", 277},
-{"EBCDICGB", 285},
-{"EBCDICHE", 12712},
-{"EBCDICSV", 278},
-{"ECMA114", 1089},
-{"ECMA118", 4909},
-{"ECMA128", 920},
-{"ELOT928", 4909},
-{"EUCCN", 1383},
-{"EUCKR", 970},
-{"GB", 1383},
-{"GB18030", 1392},
-{"GB2312", 1383},
-{"GB23121980", 1383},
-{"GB231280", 1383},
-{"GBK", 1386},
-{"GREEK", 4909},
-{"GREEK8", 4909},
-{"HEBREW", 916},
-{"HPROMAN8", 1051},
-{"IBM00858", 858},
-{"IBM01140", 1140},
-{"IBM01141", 1141},
-{"IBM01142", 1142},
-{"IBM01143", 1143},
-{"IBM01144", 1144},
-{"IBM01145", 1145},
-{"IBM01146", 1146},
-{"IBM01147", 1147},
-{"IBM01148", 1148},
-{"IBM01149", 1149},
-{"IBM037", 37},
-{"IBM037S390", 37},
-{"IBM1006", 1006},
-{"IBM1006P1002000", 1006},
-{"IBM1006VPUA", 1006},
-{"IBM1025", 1025},
-{"IBM1025P1002000", 1025},
-{"IBM1025STD", 1025},
-{"IBM1047", 1047},
-{"IBM1047S390", 1047},
-{"IBM1051", 1051},
-{"IBM1089", 1089},
-{"IBM1097", 1097},
-{"IBM1097P1002000", 1097},
-{"IBM1097VPUA", 1097},
-{"IBM1098", 1098},
-{"IBM1098P1002000", 1098},
-{"IBM1098VSUBVPUA", 1098},
-{"IBM1112", 1112},
-{"IBM1112P1002000", 1112},
-{"IBM1112STD", 1112},
-{"IBM1122", 1122},
-{"IBM1122", 1122},
-{"IBM1122P1002000", 1122},
-{"IBM1122STD", 1122},
-{"IBM1123", 1123},
-{"IBM1124", 1124},
-{"IBM1124P1002000", 1124},
-{"IBM1124STD", 1124},
-{"IBM1125", 1125},
-{"IBM1125P1002000", 1125},
-{"IBM1125VSUB", 1125},
-{"IBM1129", 1129},
-{"IBM1129P1002000", 1129},
-{"IBM1129STD", 1129},
-{"IBM1130", 1130},
-{"IBM1130P1002000", 1130},
-{"IBM1130STD", 1130},
-{"IBM1131", 1131},
-{"IBM1131P1002000", 1131},
-{"IBM1131VSUB", 1131},
-{"IBM1132", 1132},
-{"IBM1132P1002000", 1132},
-{"IBM1132STD", 1132},
-{"IBM1133", 1133},
-{"IBM1133P1002000", 1133},
-{"IBM1133STD", 1133},
-{"IBM1137", 1137},
-{"IBM1137P1002000", 1137},
-{"IBM1137STD", 1137},
-{"IBM1140", 1140},
-{"IBM1140S390", 1140},
-{"IBM1141", 1141},
-{"IBM1142", 1142},
-{"IBM1142S390", 1142},
-{"IBM1143", 1143},
-{"IBM1143S390", 1143},
-{"IBM1144", 1144},
-{"IBM1144S390", 1144},
-{"IBM1145", 1145},
-{"IBM1145S390", 1145},
-{"IBM1146", 1146},
-{"IBM1146S390", 1146},
-{"IBM1147", 1147},
-{"IBM1147S390", 1147},
-{"IBM1148", 1148},
-{"IBM1148S390", 1148},
-{"IBM1149", 1149},
-{"IBM1149S390", 1149},
-{"IBM1153", 1153},
-{"IBM1154", 1154},
-{"IBM1156", 1156},
-{"IBM1157", 1157},
-{"IBM1158", 1158},
-{"IBM1159", 1159},
-{"IBM1160", 1160},
-{"IBM1161", 874},
-{"IBM1164", 1164},
-{"IBM1208", 1208},
-{"IBM1209", 1208},
-{"IBM1250", 1250},
-{"IBM1251", 1251},
-{"IBM1252", 1252},
-{"IBM1253", 1253},
-{"IBM1254", 1254},
-{"IBM1255", 1255},
-{"IBM1256", 1256},
-{"IBM1257", 1257},
-{"IBM1258", 1258},
-{"IBM12712", 12712},
-{"IBM1275", 1275},
-{"IBM1276", 1276},
-{"IBM1277", 1277},
-{"IBM1280", 1280},
-{"IBM1281", 1281},
-{"IBM1282", 1282},
-{"IBM1283", 1283},
-{"IBM1363", 1363},
-{"IBM1363P1102000", 1363},
-{"IBM1363VASCIIVSUBVPUA", 1363},
-{"IBM1364", 1364},
-{"IBM1364P1102000", 1364},
-{"IBM1364VPUA", 1364},
-{"IBM1370", 1370},
-{"IBM1371", 1371},
-{"IBM1381", 1381},
-{"IBM1381P1102000", 1381},
-{"IBM1381VSUBVPUA", 1381},
-{"IBM1383", 1383},
-{"IBM1386", 1386},
-{"IBM1386P1002002", 1386},
-{"IBM1386VSUBVPUA", 1386},
-{"IBM1388", 1388},
-{"IBM1392", 1392},
-{"IBM1399", 1399},
-{"IBM16804", 16804},
-{"IBM17248", 17248},
-{"IBM273", 273},
-{"IBM277", 277},
-{"IBM278", 278},
-{"IBM280", 280},
-{"IBM284", 284},
-{"IBM285", 285},
-{"IBM297", 297},
-{"IBM33722", 33722},
-{"IBM367", 367},
-{"IBM37", 37},
-{"IBM37S390", 37},
-{"IBM420", 420},
-{"IBM424", 424},
-{"IBM437", 437},
-{"IBM4909", 4909},
-{"IBM4971", 4971},
-{"IBM500", 500},
-{"IBM5050", 33722},
-{"IBM5104", 5104},
-{"IBM5123", 5123},
-{"IBM5304", 1208},
-{"IBM5305", 1208},
-{"IBM5346", 5346},
-{"IBM5347", 5347},
-{"IBM5348", 5348},
-{"IBM5349", 5349},
-{"IBM5350", 5350},
-{"IBM5351", 5351},
-{"IBM5352", 5352},
-{"IBM5353", 5353},
-{"IBM5354", 5354},
-{"IBM806", 806},
-{"IBM806P1002000", 806},
-{"IBM806VSUB", 806},
-{"IBM808", 808},
-{"IBM813", 4909},
-{"IBM819", 819},
-{"IBM848", 848},
-{"IBM849", 849},
-{"IBM850", 850},
-{"IBM851", 851},
-{"IBM852", 852},
-{"IBM855", 855},
-{"IBM856", 856},
-{"IBM857", 857},
-{"IBM858", 858},
-{"IBM859", 859},
-{"IBM860", 860},
-{"IBM861", 861},
-{"IBM862", 862},
-{"IBM863", 863},
-{"IBM864", 864},
-{"IBM865", 865},
-{"IBM866", 866},
-{"IBM867", 867},
-{"IBM868", 868},
-{"IBM869", 869},
-{"IBM870", 870},
-{"IBM870P1002000", 870},
-{"IBM870STD", 870},
-{"IBM871", 871},
-{"IBM872", 872},
-{"IBM874", 874},
-{"IBM875", 875},
-{"IBM875", 875},
-{"IBM875P1002000", 875},
-{"IBM875STD", 875},
-{"IBM878", 878},
-{"IBM901", 901},
-{"IBM902", 902},
-{"IBM9030", 9030},
-{"IBM9030P1002000", 9030},
-{"IBM9030STD", 9030},
-{"IBM9044", 9044},
-{"IBM9049", 9049},
-{"IBM9061", 9061},
-{"IBM9066", 9066},
-{"IBM9066P1002000", 9066},
-{"IBM9066VSUB", 9066},
-{"IBM912", 912},
-{"IBM913", 913},
-{"IBM914", 914},
-{"IBM915", 915},
-{"IBM916", 916},
-{"IBM918", 918},
-{"IBM918P1002000", 918},
-{"IBM918VPUA", 918},
-{"IBM920", 920},
-{"IBM921", 921},
-{"IBM922", 922},
-{"IBM923", 923},
-{"IBM9238", 9238},
-{"IBM932", 942},
-{"IBM932VASCIIVSUBVPUA", 942},
-{"IBM933", 933},
-{"IBM935", 935},
-{"IBM937", 937},
-{"IBM939", 939},
-{"IBM942", 942},
-{"IBM942P1202000", 942},
-{"IBM942VASCIIVSUBVPUA", 942},
-{"IBM943", 943},
-{"IBM943P14A2000", 943},
-{"IBM943VSUBVPUA", 943},
-{"IBM949", 949},
-{"IBM949P11A2000", 949},
-{"IBM949VSUBVPUA", 949},
-{"IBM950", 950},
-{"IBM970", 970},
-{"IBM970P1102000", 970},
-{"IBMEUCCN", 1383},
-{"IBMEUCKR", 970},
-{"ISO88591", 819},
-{"ISO885915", 923},
-{"ISO885915FDIS", 923},
-{"ISO88592", 912},
-{"ISO88593", 913},
-{"ISO88594", 914},
-{"ISO88595", 915},
-{"ISO88596", 1089},
-{"ISO88597", 4909},
-{"ISO88598", 916},
-{"ISO88599", 920},
-{"ISOIR100", 819},
-{"ISOIR101", 912},
-{"ISOIR109", 913},
-{"ISOIR110", 914},
-{"ISOIR126", 4909},
-{"ISOIR127", 1089},
-{"ISOIR138", 916},
-{"ISOIR144", 915},
-{"ISOIR148", 920},
-{"ISOIR149", 949},
-{"ISOIR58", 1383},
-{"JOHAB", 949},
-{"KOI8", 878},
-{"KOI8R", 878},
-{"KOREAN", 949},
-{"KSC5601", 949},
-{"KSC56011987", 949},
-{"KSC56011987", 949},
-{"KSC56011989", 949},
-{"KSC56011992", 949},
-{"L1", 819},
-{"L2", 912},
-{"L3", 913},
-{"L4", 914},
-{"L5", 920},
-{"LATIN0", 923},
-{"LATIN1", 819},
-{"LATIN1", 819},
-{"LATIN2", 912},
-{"LATIN3", 913},
-{"LATIN4", 914},
-{"LATIN5", 920},
-{"LATIN9", 923},
-{"MAC", 1275},
-{"MACCE", 1282},
-{"MACCY", 1283},
-{"MACGR", 1280},
-{"MACINTOSH", 1275},
-{"MACTR", 1281},
-{"MSKANJI", 943},
-{"R8", 1051},
-{"ROMAN8", 1051},
-{"SHIFTJIS", 943},
-{"SJIS", 943},
-{"UCS2", 1200},
-{"UTF8", 1208},
-{"WINDOWS1250", 5346},
-{"WINDOWS1251", 5347},
-{"WINDOWS1252", 5348},
-{"WINDOWS1253", 5349},
-{"WINDOWS1254", 5350},
-{"WINDOWS1255", 5351},
-{"WINDOWS1256", 5352},
-{"WINDOWS1257", 5353},
-{"WINDOWS1258", 5354},
-{"WINDOWS31J", 943},
-{"WINDOWS936", 1386},
-{"XBIG5", 1370},
-{"XSJIS", 943},
-{"ZHCN", 1386},
+{ {"ADOBELATIN1ENCODING", 1277}, 
+{"ADOBESTANDARDENCODING", 1276}, 
+{"ARABIC", 1089}, 
+{"ASMO708", 1089}, 
+{"BIG5", 1370}, 
+{"CCSID00858", 858}, 
+{"CCSID01140", 1140}, 
+{"CCSID01141", 1141}, 
+{"CCSID01142", 1142}, 
+{"CCSID01143", 1143}, 
+{"CCSID01144", 1144}, 
+{"CCSID01145", 1145}, 
+{"CCSID01146", 1146}, 
+{"CCSID01147", 1147}, 
+{"CCSID01148", 1148}, 
+{"CCSID01149", 1149}, 
+{"CHINESE", 1383}, 
+{"CP00858", 858}, 
+{"CP01140", 1140}, 
+{"CP01141", 1141}, 
+{"CP01142", 1142}, 
+{"CP01143", 1143}, 
+{"CP01144", 1144}, 
+{"CP01145", 1145}, 
+{"CP01146", 1146}, 
+{"CP01147", 1147}, 
+{"CP01148", 1148}, 
+{"CP01149", 1149}, 
+{"CP037", 37}, 
+{"CP1006", 1006}, 
+{"CP1008", 5104}, 
+{"CP1025", 1154}, 
+{"CP1027", 5123}, 
+{"CP1046", 9238}, 
+{"CP1089", 1089}, 
+{"CP1097", 1097}, 
+{"CP1098", 1098}, 
+{"CP1112", 1112}, 
+{"CP1122", 1122}, 
+{"CP1123", 1123}, 
+{"CP1124", 1124}, 
+{"CP1125", 848}, 
+{"CP1130", 1164}, 
+{"CP1131", 849}, 
+{"CP1140", 1140}, 
+{"CP1141", 1141}, 
+{"CP1142", 1142}, 
+{"CP1143", 1143}, 
+{"CP1144", 1144}, 
+{"CP1145", 1145}, 
+{"CP1146", 1146}, 
+{"CP1147", 1147}, 
+{"CP1148", 1148}, 
+{"CP1149", 1149}, 
+{"CP1208", 1208}, 
+{"CP1250", 5346}, 
+{"CP1251", 5347}, 
+{"CP1252", 5348}, 
+{"CP1253", 5349}, 
+{"CP1254", 5350}, 
+{"CP1255", 5351}, 
+{"CP1256", 5352}, 
+{"CP1257", 5353}, 
+{"CP1258", 5354}, 
+{"CP1364", 1364}, 
+{"CP1383", 1383}, 
+{"CP273", 273}, 
+{"CP277", 277}, 
+{"CP278", 278}, 
+{"CP280", 280}, 
+{"CP284", 284}, 
+{"CP285", 285}, 
+{"CP28709", 1159}, 
+{"CP297", 297}, 
+{"CP33722", 33722}, 
+{"CP37", 37}, 
+{"CP420", 420}, 
+{"CP424", 424}, 
+{"CP437", 437}, 
+{"CP500", 500}, 
+{"CP65001", 1208}, 
+{"CP813", 813}, 
+{"CP819", 819}, 
+{"CP850", 850}, 
+{"CP851", 851}, 
+{"CP852", 852}, 
+{"CP855", 855}, 
+{"CP856", 856}, 
+{"CP857", 857}, 
+{"CP858", 858}, 
+{"CP859", 859}, 
+{"CP860", 860}, 
+{"CP861", 861}, 
+{"CP862", 862}, 
+{"CP863", 863}, 
+{"CP864", 864}, 
+{"CP865", 865}, 
+{"CP866", 866}, 
+{"CP867", 867}, 
+{"CP868", 868}, 
+{"CP869", 869}, 
+{"CP870", 870}, 
+{"CP871", 871}, 
+{"CP874", 874}, 
+{"CP875", 875}, 
+{"CP878", 878}, 
+{"CP9030", 1160}, 
+{"CP9066", 874}, 
+{"CP912", 912}, 
+{"CP913", 913}, 
+{"CP914", 914}, 
+{"CP915", 915}, 
+{"CP916", 916}, 
+{"CP918", 918}, 
+{"CP920", 920}, 
+{"CP921", 921}, 
+{"CP922", 902}, 
+{"CP923", 923}, 
+{"CP932", 943}, 
+{"CP933", 933}, 
+{"CP935", 935}, 
+{"CP936", 1386}, 
+{"CP937", 937}, 
+{"CP939", 939}, 
+{"CP943", 943}, 
+{"CP943C", 943}, 
+{"CP950", 1370}, 
+{"CPAR", 868}, 
+{"CPGR", 869}, 
+{"CPIBM1047", 1047}, 
+{"CPIBM1123", 1123}, 
+{"CPIBM1140", 1140}, 
+{"CPIBM1141", 1141}, 
+{"CPIBM1142", 1142}, 
+{"CPIBM1143", 1143}, 
+{"CPIBM1144", 1144}, 
+{"CPIBM1145", 1145}, 
+{"CPIBM1146", 1146}, 
+{"CPIBM1147", 1147}, 
+{"CPIBM1148", 1148}, 
+{"CPIBM1149", 1149}, 
+{"CPIBM1153", 1153}, 
+{"CPIBM1154", 1154}, 
+{"CPIBM1156", 1156}, 
+{"CPIBM1157", 1157}, 
+{"CPIBM1158", 1123}, 
+{"CPIBM1160", 1160}, 
+{"CPIBM1164", 1164}, 
+{"CPIBM12712", 12712}, 
+{"CPIBM1371", 1371}, 
+{"CPIBM16804", 16804}, 
+{"CPIBM273", 273}, 
+{"CPIBM277", 277}, 
+{"CPIBM278", 278}, 
+{"CPIBM280", 280}, 
+{"CPIBM284", 284}, 
+{"CPIBM285", 285}, 
+{"CPIBM297", 297}, 
+{"CPIBM37", 37}, 
+{"CPIBM4971", 4971}, 
+{"CPIBM500", 500}, 
+{"CPIBM871", 871}, 
+{"CPIBM933", 933}, 
+{"CPIBM935", 935}, 
+{"CPIBM937", 937}, 
+{"CPIS", 861}, 
+{"CSADOBESTANDARDENCODING", 1276}, 
+{"CSBIG5", 1370}, 
+{"CSEUCKR", 970}, 
+{"CSGB2312", 1383}, 
+{"CSHPROMAN8", 1051}, 
+{"CSIBM037", 37}, 
+{"CSIBM273", 273}, 
+{"CSIBM277", 277}, 
+{"CSIBM278", 278}, 
+{"CSIBM280", 280}, 
+{"CSIBM284", 284}, 
+{"CSIBM285", 285}, 
+{"CSIBM297", 297}, 
+{"CSIBM420", 420}, 
+{"CSIBM424", 424}, 
+{"CSIBM500", 500}, 
+{"CSIBM855", 855}, 
+{"CSIBM857", 857}, 
+{"CSIBM860", 860}, 
+{"CSIBM861", 861}, 
+{"CSIBM863", 863}, 
+{"CSIBM864", 864}, 
+{"CSIBM865", 865}, 
+{"CSIBM866", 866}, 
+{"CSIBM868", 868}, 
+{"CSIBM869", 869}, 
+{"CSIBM870", 870}, 
+{"CSIBM871", 871}, 
+{"CSIBM918", 918}, 
+{"CSISO58GB231280", 1383}, 
+{"CSISOLATIN0", 923}, 
+{"CSISOLATIN1", 819}, 
+{"CSISOLATIN2", 912}, 
+{"CSISOLATIN3", 913}, 
+{"CSISOLATIN4", 914}, 
+{"CSISOLATIN5", 920}, 
+{"CSISOLATIN9", 923}, 
+{"CSISOLATINARABIC", 1089}, 
+{"CSISOLATINCYRILLIC", 915}, 
+{"CSISOLATINGREEK", 813}, 
+{"CSISOLATINHEBREW", 916}, 
+{"CSKOI8R", 878}, 
+{"CSKSC56011987", 949}, 
+{"CSMACINTOSH", 1275}, 
+{"CSPC850MULTILINGUAL", 850}, 
+{"CSPC851", 851}, 
+{"CSPC862LATINHEBREW", 862}, 
+{"CSPC8CODEPAGE437", 437}, 
+{"CSPCP852", 852}, 
+{"CSPCP855", 855}, 
+{"CSSHIFTJIS", 943}, 
+{"CSUNICODE", 1200}, 
+{"CSWINDOWS31J", 943}, 
+{"CYRILLIC", 915}, 
+{"DOS862", 862}, 
+{"EBCDICAR", 16804}, 
+{"EBCDICCPAR1", 420}, 
+{"EBCDICCPAR2", 918}, 
+{"EBCDICCPBE", 500}, 
+{"EBCDICCPCA", 37}, 
+{"EBCDICCPCH", 500}, 
+{"EBCDICCPDK", 277}, 
+{"EBCDICCPES", 284}, 
+{"EBCDICCPFI", 278}, 
+{"EBCDICCPFR", 297}, 
+{"EBCDICCPGB", 285}, 
+{"EBCDICCPHE", 424}, 
+{"EBCDICCPIS", 871}, 
+{"EBCDICCPIT", 280}, 
+{"EBCDICCPNL", 37}, 
+{"EBCDICCPNO", 277}, 
+{"EBCDICCPROECE", 870}, 
+{"EBCDICCPSE", 278}, 
+{"EBCDICCPUS", 37}, 
+{"EBCDICCPWT", 37}, 
+{"EBCDICCPYU", 870}, 
+{"EBCDICDE", 273}, 
+{"EBCDICDK", 277}, 
+{"EBCDICGB", 285}, 
+{"EBCDICHE", 12712}, 
+{"EBCDICSV", 278}, 
+{"ECMA114", 1089}, 
+{"ECMA118", 813}, 
+{"ECMA128", 920}, 
+{"ELOT928", 813}, 
+{"EUCCN", 1383}, 
+{"EUCKR", 970}, 
+{"GB", 1383}, 
+{"GB2312", 1383}, 
+{"GB23121980", 1383}, 
+{"GB231280", 1383}, 
+{"GBK", 1386}, 
+{"GREEK", 813}, 
+{"GREEK8", 813}, 
+{"HEBREW", 916}, 
+{"HPROMAN8", 1051}, 
+{"IBM00858", 858}, 
+{"IBM01140", 1140}, 
+{"IBM01141", 1141}, 
+{"IBM01142", 1142}, 
+{"IBM01143", 1143}, 
+{"IBM01144", 1144}, 
+{"IBM01145", 1145}, 
+{"IBM01146", 1146}, 
+{"IBM01147", 1147}, 
+{"IBM01148", 1148}, 
+{"IBM01149", 1149}, 
+{"IBM037", 37}, 
+{"IBM037S390", 37}, 
+{"IBM1006", 1006}, 
+{"IBM1006VPUA", 1006}, 
+{"IBM1025", 1025}, 
+{"IBM1025STD", 1025}, 
+{"IBM1047", 1047}, 
+{"IBM1047S390", 1047}, 
+{"IBM1051", 1051}, 
+{"IBM1089", 1089}, 
+{"IBM1097", 1097}, 
+{"IBM1097VPUA", 1097}, 
+{"IBM1098", 1098}, 
+{"IBM1098VSUBVPUA", 1098}, 
+{"IBM1112", 1112}, 
+{"IBM1112STD", 1112}, 
+{"IBM1122", 1122}, 
+{"IBM1122STD", 1122}, 
+{"IBM1123", 1123}, 
+{"IBM1123STD", 1123}, 
+{"IBM1124", 1124}, 
+{"IBM1124STD", 1124}, 
+{"IBM1125", 1125}, 
+{"IBM1125VSUB", 1125}, 
+{"IBM1129", 1129}, 
+{"IBM1129STD", 1129}, 
+{"IBM1130", 1130}, 
+{"IBM1130STD", 1130}, 
+{"IBM1131", 1131}, 
+{"IBM1131VSUB", 1131}, 
+{"IBM1132", 1132}, 
+{"IBM1132STD", 1132}, 
+{"IBM1133", 1133}, 
+{"IBM1133STD", 1133}, 
+{"IBM1137", 1137}, 
+{"IBM1137STD", 1137}, 
+{"IBM1140", 1140}, 
+{"IBM1140S390", 1140}, 
+{"IBM1141", 1141}, 
+{"IBM1142", 1142}, 
+{"IBM1142S390", 1142}, 
+{"IBM1143", 1143}, 
+{"IBM1143S390", 1143}, 
+{"IBM1144", 1144}, 
+{"IBM1144S390", 1144}, 
+{"IBM1145", 1145}, 
+{"IBM1145S390", 1145}, 
+{"IBM1146", 1146}, 
+{"IBM1146S390", 1146}, 
+{"IBM1147", 1147}, 
+{"IBM1147S390", 1147}, 
+{"IBM1148", 1148}, 
+{"IBM1148S390", 1148}, 
+{"IBM1149", 1149}, 
+{"IBM1149S390", 1149}, 
+{"IBM1153", 1153}, 
+{"IBM1154", 1154}, 
+{"IBM1156", 1156}, 
+{"IBM1157", 1157}, 
+{"IBM1158", 1123}, 
+{"IBM1159", 1159}, 
+{"IBM1160", 1160}, 
+{"IBM1164", 1164}, 
+{"IBM1208", 1208}, 
+{"IBM1209", 1208}, 
+{"IBM1250", 1250}, 
+{"IBM1251", 1251}, 
+{"IBM1252", 1252}, 
+{"IBM1253", 1253}, 
+{"IBM1254", 1254}, 
+{"IBM1255", 1255}, 
+{"IBM1256", 1256}, 
+{"IBM1257", 1257}, 
+{"IBM1258", 1258}, 
+{"IBM12712", 12712}, 
+{"IBM1275", 1275}, 
+{"IBM1276", 1276}, 
+{"IBM1277", 1277}, 
+{"IBM1280", 1280}, 
+{"IBM1281", 1281}, 
+{"IBM1282", 1282}, 
+{"IBM1283", 1283}, 
+{"IBM1363", 1363}, 
+{"IBM1363VASCIIVSUBVPUA", 1363}, 
+{"IBM1364", 1364}, 
+{"IBM1364VPUA", 1364}, 
+{"IBM1370", 1370}, 
+{"IBM1371", 1371}, 
+{"IBM1381", 1381}, 
+{"IBM1381VSUBVPUA", 1381}, 
+{"IBM1383", 1383}, 
+{"IBM1386", 1386}, 
+{"IBM1386P1002002", 1386}, 
+{"IBM1386VSUBVPUA", 1386}, 
+{"IBM1388", 1388}, 
+{"IBM1388VPUA", 1388}, 
+{"IBM1399", 1399}, 
+{"IBM16804", 16804}, 
+{"IBM17248", 17248}, 
+{"IBM273", 273}, 
+{"IBM277", 277}, 
+{"IBM278", 278}, 
+{"IBM280", 280}, 
+{"IBM284", 284}, 
+{"IBM285", 285}, 
+{"IBM297", 297}, 
+{"IBM33722", 33722}, 
+{"IBM367", 367}, 
+{"IBM37", 37}, 
+{"IBM37S390", 37}, 
+{"IBM420", 420}, 
+{"IBM424", 424}, 
+{"IBM437", 437}, 
+{"IBM4909", 4909}, 
+{"IBM4971", 4971}, 
+{"IBM500", 500}, 
+{"IBM5035", 939}, 
+{"IBM5050", 33722}, 
+{"IBM5104", 5104}, 
+{"IBM5123", 5123}, 
+{"IBM5304", 1208}, 
+{"IBM5305", 1208}, 
+{"IBM5346", 5346}, 
+{"IBM5347", 5347}, 
+{"IBM5348", 5348}, 
+{"IBM5349", 5349}, 
+{"IBM5350", 5350}, 
+{"IBM5351", 5351}, 
+{"IBM5352", 5352}, 
+{"IBM5353", 5353}, 
+{"IBM5354", 5354}, 
+{"IBM808", 808}, 
+{"IBM813", 813}, 
+{"IBM819", 819}, 
+{"IBM838", 9030}, 
+{"IBM848", 848}, 
+{"IBM849", 849}, 
+{"IBM850", 850}, 
+{"IBM851", 851}, 
+{"IBM852", 852}, 
+{"IBM855", 855}, 
+{"IBM856", 856}, 
+{"IBM857", 857}, 
+{"IBM858", 858}, 
+{"IBM859", 859}, 
+{"IBM860", 860}, 
+{"IBM861", 861}, 
+{"IBM862", 862}, 
+{"IBM863", 863}, 
+{"IBM864", 864}, 
+{"IBM865", 865}, 
+{"IBM866", 866}, 
+{"IBM867", 867}, 
+{"IBM868", 868}, 
+{"IBM869", 869}, 
+{"IBM870", 870}, 
+{"IBM870STD", 870}, 
+{"IBM871", 871}, 
+{"IBM872", 872}, 
+{"IBM874", 874}, 
+{"IBM875", 875}, 
+{"IBM875STD", 875}, 
+{"IBM878", 878}, 
+{"IBM901", 901}, 
+{"IBM902", 902}, 
+{"IBM9030", 9030}, 
+{"IBM9030STD", 9030}, 
+{"IBM9044", 9044}, 
+{"IBM9049", 9049}, 
+{"IBM9061", 9061}, 
+{"IBM9066", 874}, 
+{"IBM912", 912}, 
+{"IBM913", 913}, 
+{"IBM914", 914}, 
+{"IBM915", 915}, 
+{"IBM916", 916}, 
+{"IBM918", 918}, 
+{"IBM918VPUA", 918}, 
+{"IBM920", 920}, 
+{"IBM921", 921}, 
+{"IBM922", 922}, 
+{"IBM923", 923}, 
+{"IBM9238", 9238}, 
+{"IBM931", 939}, 
+{"IBM932", 942}, 
+{"IBM932VSUBVPUA", 942}, 
+{"IBM933", 933}, 
+{"IBM935", 935}, 
+{"IBM937", 937}, 
+{"IBM939", 939}, 
+{"IBM942", 942}, 
+{"IBM942VSUBVPUA", 942}, 
+{"IBM943", 943}, 
+{"IBM943VSUBVPUA", 943}, 
+{"IBM949", 949}, 
+{"IBM949VSUBVPUA", 949}, 
+{"IBM950", 950}, 
+{"IBM9580", 1388}, 
+{"IBM970", 970}, 
+{"IBM970P1102000", 970}, 
+{"IBMEUCCN", 1383}, 
+{"IBMEUCKR", 970}, 
+{"ISO10646UCS2", 1200}, 
+{"ISO88591", 819}, 
+{"ISO885913", 921}, 
+{"ISO885915", 923}, 
+{"ISO885915FDIS", 923}, 
+{"ISO88592", 912}, 
+{"ISO88593", 913}, 
+{"ISO88594", 914}, 
+{"ISO88595", 915}, 
+{"ISO88596", 1089}, 
+{"ISO88597", 813}, 
+{"ISO88598", 916}, 
+{"ISO88598E", 916}, 
+{"ISO88598I", 916}, 
+{"ISO88599", 920}, 
+{"ISOIR100", 819}, 
+{"ISOIR101", 912}, 
+{"ISOIR109", 913}, 
+{"ISOIR110", 914}, 
+{"ISOIR126", 813}, 
+{"ISOIR127", 1089}, 
+{"ISOIR138", 916}, 
+{"ISOIR144", 915}, 
+{"ISOIR148", 920}, 
+{"ISOIR149", 949}, 
+{"ISOIR58", 1383}, 
+{"KOI8", 878}, 
+{"KOI8R", 878}, 
+{"KOREAN", 949}, 
+{"KSC5601", 949}, 
+{"KSC56011987", 949}, 
+{"KSC56011989", 949}, 
+{"KSC56011992", 949}, 
+{"L1", 819}, 
+{"L2", 912}, 
+{"L3", 913}, 
+{"L4", 914}, 
+{"L5", 920}, 
+{"L9", 923}, 
+{"LATIN0", 923}, 
+{"LATIN1", 819}, 
+{"LATIN2", 912}, 
+{"LATIN3", 913}, 
+{"LATIN4", 914}, 
+{"LATIN5", 920}, 
+{"LATIN9", 923}, 
+{"MAC", 1275}, 
+{"MACCE", 1282}, 
+{"MACCY", 1283}, 
+{"MACGR", 1280}, 
+{"MACINTOSH", 1275}, 
+{"MACTR", 1281}, 
+{"MS932", 943}, 
+{"MSKANJI", 943}, 
+{"PCK", 943}, 
+{"PCMULTILINGUAL850+EURO", 858}, 
+{"R8", 1051}, 
+{"ROMAN8", 1051}, 
+{"SHIFTJIS", 943}, 
+{"SHIFTJIS78", 942}, 
+{"SJIS", 943}, 
+{"SJIS78", 942}, 
+{"UCS2", 1200}, 
+{"UTF8", 1208}, 
+{"WINDOWS10000", 1275}, 
+{"WINDOWS10006", 1280}, 
+{"WINDOWS10007", 1283}, 
+{"WINDOWS10029", 1282}, 
+{"WINDOWS10081", 1281}, 
+{"WINDOWS1250", 5346}, 
+{"WINDOWS1251", 5347}, 
+{"WINDOWS1252", 5348}, 
+{"WINDOWS1253", 5349}, 
+{"WINDOWS1254", 5350}, 
+{"WINDOWS1255", 5351}, 
+{"WINDOWS1256", 5352}, 
+{"WINDOWS1257", 5353}, 
+{"WINDOWS1258", 5354}, 
+{"WINDOWS28592", 912}, 
+{"WINDOWS28593", 913}, 
+{"WINDOWS28594", 914}, 
+{"WINDOWS28595", 915}, 
+{"WINDOWS28596", 1089}, 
+{"WINDOWS28597", 813}, 
+{"WINDOWS28598", 916}, 
+{"WINDOWS28599", 920}, 
+{"WINDOWS28605", 923}, 
+{"WINDOWS31J", 943}, 
+{"WINDOWS437", 437}, 
+{"WINDOWS51932", 33722}, 
+{"WINDOWS51949", 970}, 
+{"WINDOWS65001", 1208}, 
+{"WINDOWS850", 850}, 
+{"WINDOWS852", 852}, 
+{"WINDOWS857", 857}, 
+{"WINDOWS861", 861}, 
+{"WINDOWS862", 862}, 
+{"WINDOWS866", 866}, 
+{"WINDOWS869", 869}, 
+{"WINDOWS936", 1386}, 
+{"XBIG5", 1370}, 
+{"XMACCE", 1282}, 
+{"XMACCENTRALEURROMAN", 1282}, 
+{"XMACCYRILLIC", 1283}, 
+{"XMACGREEK", 1280}, 
+{"XMACTURKISH", 1281}, 
+{"XMSCP932", 943}, 
+{"XSJIS", 943}, 
+{"ZHCN", 1386}, 
 {"", 0} };
 
diff --git a/src/xercesc/util/Transcoders/Uniconv390/uniconv.cpp b/src/xercesc/util/Transcoders/Uniconv390/uniconv.cpp
index 1edcea21fce3ab909d5a5a84f80265c9a4df6a56..84bdc94309933b574f12fd73932320c683e516fd 100644
--- a/src/xercesc/util/Transcoders/Uniconv390/uniconv.cpp
+++ b/src/xercesc/util/Transcoders/Uniconv390/uniconv.cpp
@@ -1,7 +1,7 @@
 /*
  * The Apache Software License, Version 1.1
  *
- * Copyright (c) 2002 The Apache Software Foundation.  All rights
+ * Copyright (c) 2002-2003 The Apache Software Foundation.  All rights
  * reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -155,7 +155,7 @@ uniconv_t uniconv_open(const char *destenc, const char *srcenc) {
    int destis390;
 
    errno = 0;
-   handle_area = malloc (sizeof(CUNBCPRM)+DDA_NEEDED+WORK_BUFFER_SIZE);
+   handle_area = malloc (sizeof(CUNBCPRM)+DDA_NEEDED+WORK_BUFFER_SIZE+8);
    tmpp = (CUNBCPRM *) handle_area;
    if (tmpp==NULL)
       return (uniconv_t)-1;
@@ -171,9 +171,11 @@ uniconv_t uniconv_open(const char *destenc, const char *srcenc) {
       free(handle_area);
       return (uniconv_t)-1;
    }
-   tmpp->Wrk_Buf_Ptr=(void*) (((unsigned int) handle_area) + sizeof(CUNBCPRM)+DDA_NEEDED);
+   tmpp->Wrk_Buf_Ptr=(void*) (((unsigned int) handle_area) + sizeof(CUNBCPRM)+DDA_NEEDED +8);
    tmpp->Wrk_Buf_Len=WORK_BUFFER_SIZE;
-   tmpp->DDA_Buf_Ptr=(void*) ((unsigned int) handle_area + sizeof(CUNBCPRM));
+   // Doubleword align the DDA area
+   tmpp->DDA_Buf_Ptr=(void*) ((unsigned int) handle_area + sizeof(CUNBCPRM) +7);
+   tmpp->DDA_Buf_Ptr = (void*) ((unsigned int) tmpp->DDA_Buf_Ptr & ~7);
    tmpp->DDA_Buf_Len=DDA_NEEDED;
    // This flag tells the services to automatically refresh the handle if it
    // becomes invalid.
@@ -204,7 +206,6 @@ uniconv_t uniconv_open(const char *destenc, const char *srcenc) {
    }
 
    if (tmpp->Return_Code != CUN_RC_OK) {
-// printf("uniconv_open() Error!!! rc=%d rs=%d\n",tmpp->Return_Code,tmpp->Reason_Code);   // remove this after function test
       free(handle_area);
       errno=EINVAL;
       handle_area = (uniconv_t)-1;
@@ -272,7 +273,6 @@ int uniconv(uniconv_t cd, char **inbuf,  size_t *inbytesleft,
       else if (tmpp->Reason_Code == CUN_RS_MBC_INCOMPLETE)
          errno=EINVAL;
       else {
- printf("uniconv() Error!!! rc=%d rs=%d\n",tmpp->Return_Code,tmpp->Reason_Code); // remove after function test
          errno=EBADF;
          return -1;
       }
@@ -334,14 +334,11 @@ void * handle_area;
             break;
          }
       } else {
-// printf("CUNLASE: Unicode Services is a Failure!\n");
-// printf("CUNLASE rc=%d rs=%d\n",tmpp->Return_Code,tmpp->Reason_Code);
          errno = ENOSYS;
          break;
       }
    }
    if (tmpp->Return_Code != CUN_RC_OK) {
-// printf("uniconv_case_open() Error!!! rc=%d rs=%d\n",tmpp->Return_Code,tmpp->Reason_Code); // remove after function test.
       free(handle_area);
       errno=EINVAL;
       handle_area = (uniconv_t)-1;
@@ -406,8 +403,6 @@ unichar_t uniconv_caseit (uniconv_t cd,unichar_t inchar) {
             break;
          }
       } else {
-// printf("CUNLASE: Unicode Services is a Failure!\n");
-// printf("CUNLASE rc=%d rs=%d\n",tmpp->Return_Code,tmpp->Reason_Code);
          errno = ENOSYS;
          break;
       }
diff --git a/tests/Makefile.incl b/tests/Makefile.incl
index 343d0079c45d78d2527956f0ab39af7250751d4e..f738adcc36b110eb19881c64571ff6b802bc6c51 100644
--- a/tests/Makefile.incl
+++ b/tests/Makefile.incl
@@ -1,7 +1,7 @@
 #
 # The Apache Software License, Version 1.1
 #
-# Copyright (c) 1999-2001 The Apache Software Foundation.  All rights
+# Copyright (c) 1999-2003 The Apache Software Foundation.  All rights
 # reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -292,17 +292,17 @@ endif
 #   export LOADMOD=USERID.LOAD                                    #
 #   export LOADEXP=SYS1.SIXMEXP or &hlq.SIXMEXP                   #
 #                                                                 #
-# to specify your LOADMOD and the IXM4C51X definition sidedeck    #
-# dataset.  													  #
+# to specify your LOADMOD and the IXM4C54X definition sidedeck    #
+# dataset.  							  #
 ###################################################################
 
 ifeq (${PLATFORM}, OS390)
 CMP= -c -DOS390 ${CXXFLAGS}
 ## OS390BATCH
 ifeq (${OS390BATCH},1)
-CC = _CXX_CXXSUFFIX="cpp" _CXX_STEPS="-1" c++ -W0,"langlvl(extended)" -Wc,"TMPLPARSE(NO)" -DOS390 -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED -DOS390BATCH
+CC = _CXX_CXXSUFFIX="cpp" c++ -W0,"langlvl(extended)" -Wc,"TMPLPARSE(NO)" -DOS390 -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED -DOS390BATCH
 else
-CC = _CXX_CXXSUFFIX="cpp" _CXX_STEPS="-1" c++ -W0,"langlvl(extended)" -Wc,"TMPLPARSE(NO)" -DOS390 -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED
+CC = _CXX_CXXSUFFIX="cpp" c++ -W0,"langlvl(extended)" -Wc,"TMPLPARSE(NO)" -DOS390 -D_OPEN_THREADS -D_XOPEN_SOURCE_EXTENDED
 endif
 LINK =  ${CC} ${LDFLAGS}
 PLATFORM_LIB_LINK_OPTIONS=
@@ -311,7 +311,7 @@ SHLIBSUFFIX=.dll
 OS390SIDEDECK=.x
 ## OS390BATCH
 ifeq (${OS390BATCH},1)
-LIBRARY_NAMES="//'${LOADEXP}(IXM4C51X)'"
+LIBRARY_NAMES="//'${LOADEXP}(IXM4C54X)'"
 else
 LIBRARY_NAMES=${LIB_DIR}/lib${LIBNAME}${VER}${OS390SIDEDECK}
 endif
diff --git a/tests/configure b/tests/configure
index b6616f83d6961eaeef2d203a81e451a21e791130..c0ee695e58b9a325335ba912014a925c3c552a37 100755
--- a/tests/configure
+++ b/tests/configure
@@ -1373,6 +1373,7 @@ case "${host}" in
                             *)            osver=HPUX11;;
                         esac;;
         *-*-mvs*)       platform=OS390 ;;
+        *-*ibm-openedition*|*-*-os390*) platform=OS390;;
         *-*-os400*)     platform=OS400 ;;
         *-*-OS400*)     platform=OS400 ;;
         *-*-osf*)       platform=TRU64 ;;
@@ -1481,7 +1482,11 @@ s%\[%\\&%g
 s%\]%\\&%g
 s%\$%$$%g
 EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+if test "$platform"="OS400" || test "$platform" = "OS390";then
+DEFS=`sed -f conftest.defs confdefs.h | tr '\n' ' '`          
+else                                                          
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`        
+fi                                                            
 rm -f conftest.defs