I have a question regarding character conversion behavior when using ICU versions 3.2 and 7.8 for converting from EBCDIC to code page 943.
Input encoding: ibm-16684_P110-2003
Original source data (GRAPHIC(10)):Hex '5440 4040 4040 4040 4040 4040 4040 4040' (Length: 20)(Note: Hex '5440' represents a garbled/invalid EBCDIC character.)Converted data:ICU 3.2:Hex 'FCFC 4080 4080 4080 4080 4080 4080 4080' (Length: 20)ICU 7.8:Hex 'FCFC 4080 4080 4080 4080 4080 4080 4080 FCFC' (Length: 22)In ICU 7.8, the invalid EBCDIC character ('5440') is replaced with the DBCS substitution character ('FCFC'), and an additional 'FCFC' appears at the end, resulting in a longer output.Could you please confirm the following:1. Has the specification or behavior of ICU changed between versions 3.2 and 7.8 regarding this type of conversion?
2. Is the behavior observed in ICU 7.8 expected?
El jun 24, 2026, a la(s) 7:27 p.m., Issei Ikejiri <isseyj...@gmail.com> escribió:
Hi Markus,
--
You received this message because you are subscribed to the Google Groups "icu-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to icu-support...@unicode.org.
To view this discussion visit https://groups.google.com/a/unicode.org/d/msgid/icu-support/b423ebd6-f8d7-42cd-a9a6-db6ac313f066n%40unicode.org.
Regarding the original issue, the converted length becomes longer, which causes the application to fail with an SQL error when inserting data into a database column. This has a significant impact on many customers' production systems. The same scenario worked without issue in ICN 3.2, and in general, an increase in length after conversion is not expected.
Would it be possible to revert to the behavior of the previous version, even if this change has gone unnoticed for many years?
Alternatively, would it be possible to provide an option to preserve the previous behavior so that the length does not change?