Bug 244919 - EBCDIC code pages absent from iconv(1) and iconv(3)
Summary: EBCDIC code pages absent from iconv(1) and iconv(3)
Status: Open
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: 12.1-RELEASE
Hardware: Any Any
: --- Affects Many People
Assignee: freebsd-bugs mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-03-19 18:47 UTC by pscott
Modified: 2020-03-20 05:25 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description pscott 2020-03-19 18:47:54 UTC
iconv on Linux ad z/OS supports a full complement of EBCDIC code pages in both directions. FreeBSD has no EBCDIC code page support at all. Please add EBCDIC code page support.
Comment 1 Conrad Meyer freebsd_committer 2020-03-19 19:50:39 UTC
It doesn't?

$ iconv -l | grep -i EBCDIC
CP037 037 EBCDIC-CP-CA EBCDIC-CP-NL EBCDIC-CP-US EBCDIC-CP-WT IBM037
CP038 038 EBCDIC-INT IBM038
CP274 274 EBCDIC-BE IBM274
CP275 275 EBCDIC-BR IBM275
CP277 277 EBCDIC-CP-DK EBCDIC-CP-NO IBM277
CP278 278 EBCDIC-CP-FI EBCDIC-CP-SE IBM278
CP280 280 EBCDIC-CP-IT IBM280
CP281 281 EBCDIC-JP-E IBM281
CP284 284 EBCDIC-CP-ES IBM284
CP285 285 EBCDIC-CP-GB IBM285
CP290 290 EBCDIC-JP-KANA IBM290
CP297 297 EBCDIC-CP-FR IBM297
CP420 420 EBCDIC-CP-AR1 IBM420
CP423 423 EBCDIC-CP-GR IBM423
CP424 424 EBCDIC-CP-HE IBM424
CP500 500 EBCDIC-CP-BE EBCDIC-CP-CH IBM500
CP870 870 EBCDIC-CP-ROECE EBCDIC-CP-YU IBM870
CP871 871 EBCDIC-CP-IS IBM871
CP880 880 EBCDIC-CYRILLIC IBM880
CP905 905 EBCDIC-CP-TR IBM905
CP918 918 EBCDIC-CP-AR2 IBM918
EBCDIC-AT-DE-A
EBCDIC-AT-DE
EBCDIC-CA-FR
EBCDIC-DK-NO-A
EBCDIC-DK-NO
EBCDIC-ES-A
EBCDIC-ES-S
EBCDIC-ES
EBCDIC-FI-SE-A
EBCDIC-FI-SE
EBCDIC-FR
EBCDIC-IT
EBCDIC-PT
EBCDIC-UK
Comment 2 pscott 2020-03-19 20:35:04 UTC
Hmm. Different names than seen on Linux or z/OS USS.

And, notably still MISSING is IBM1047 and apparently anything above IBM1000.

At the very least compatible names should be added, and IBM1047 which is pretty much the U.S. standard on z/OS as that's what ships as default with Java and USS.

We also support EBCIDIC code pages IBM1025, IBM1026 IBM1027, IBM1047, IBM1112, IBM1122, IBM1140, IBM1141, IBM1142, IBM1143, IBM1144, IBM1145, IBM1146, IBM1147, IBM1148, IBM1149, IBM1153, and IBM1159 all of which are missing in FreeBSD iconv.

Plus the IBM prefixed names for the CPnnn code pages are missing on FreeBSD iconv. 

on Linux these are supported (whereas nothing shows up in :

iconv -l | egrep -i '^ibm[0-9]' | tr -d '/'

IBM037
IBM038
IBM256
IBM273
IBM274
IBM275
IBM277
IBM278
IBM280
IBM281
IBM284
IBM285
IBM290
IBM297
IBM367
IBM420
IBM423
IBM424
IBM437
IBM500
IBM775
IBM803
IBM813
IBM819
IBM848
IBM850
IBM851
IBM852
IBM855
IBM856
IBM857
IBM860
IBM861
IBM862
IBM863
IBM864
IBM865
IBM866
IBM866NAV
IBM868
IBM869
IBM870
IBM871
IBM874
IBM875
IBM880
IBM891
IBM901
IBM902
IBM903
IBM904
IBM905
IBM912
IBM915
IBM916
IBM918
IBM920
IBM921
IBM922
IBM930
IBM932
IBM933
IBM935
IBM937
IBM939
IBM943
IBM1004
IBM1008
IBM1025
IBM1026
IBM1046
IBM1047
IBM1089
IBM1097
IBM1112
IBM1122
IBM1123
IBM1124
IBM1129
IBM1130
IBM1132
IBM1133
IBM1137
IBM1140
IBM1141
IBM1142
IBM1143
IBM1144
IBM1145
IBM1146
IBM1147
IBM1148
IBM1149
IBM1153
IBM1154
IBM1155
IBM1156
IBM1157
IBM1158
IBM1160
IBM1161
IBM1162
IBM1163
IBM1164
IBM1166
IBM1167
IBM1364
IBM1371
IBM1388
IBM1390
IBM1399
IBM4517
IBM4899
IBM4909
IBM4971
IBM5347
IBM9030
IBM9066
IBM9448
IBM12712
IBM16804

Note that some of these also have ibm-nnnn (with a hyphen) names. I'm not sure how many of these are actually EBCDIC but many of them are and many are missing.

No (zero) IBM names show up in FreeBSD iconv.
Comment 3 pscott 2020-03-19 20:43:02 UTC
Okay, I do see the IBM prefixed names for the CP prefixed code pages, so that's not a problem. Sorry for missing that.

I guess it comes down to support for EBCDIC code pages above IBM1000 especially those I listed, and most especially IBM1047.
Comment 4 pscott 2020-03-20 05:25:04 UTC
I provided additional info. EBCDIC code pages above IBM1000 are not present. Especially IBM1047 which is the default U.S. code page shipped with various IBM software products.