The explanation of ibm_db2.i5_dbcs_alloc seems to be hard to understand for me.
In ibm_db2 extension inside, 6 times length of string column is allocated if i5_dbcs_alloc value is 1.
The allocated area is used for conversion between UTF-8 and EBCDIC character encodings.
By the definition of UTF-8, letter length can need 6 bytes at the maximum.
In the case of a long column, allocated size may be beyond the upper limit defined in DB2 because original column is made by 6 times. It can cause result data becomes null.