just fyi, iconv_substr() unknown error (0) has been resolved in PHP 5.2
you can also try mb_substr() or just substr() when dealing with this issue. Unfortunately there is no way to fix it in versions prior to 5.2.
Regards,
Teodor Sandu(PHP 5, PHP 7, PHP 8)
iconv_substr — Extrae una parte de una cadena
$string,$offset,$length = null,$encoding = null
   Extrae una parte de la cadena string a partir
   de la posición offset y con una longitud de
   length.
  
stringLa string original.
offset
       Si offset no es negativo,
       iconv_substr() devuelve el segmento de
       string comenzando en el carácter número
       offset, contando desde cero.
      
       Si offset es negativo,
       iconv_substr() devuelve el segmento comenzando en la
       posición offset caracteres desde el final de la string string.
      
length
       Si el parámetro length se proporciona y es positivo, el valor devuelto contendrá
       como máximo length caracteres de la porción de cadena que comienza en offset
       (dependiendo del tamaño de la cadena string).
      
       Si length se proporciona y es negativo,
       iconv_substr() extrae la porción externa de
       string desde el carácter número offset
       hasta el carácter número length, contando desde el final de
       la string. En el caso de que offset también sea negativo,
       la posición de inicio se calcula hacia atrás, siguiendo la regla explicada anteriormente.
      
encoding
       Si encoding se omite o es null,
       string se asume que está codificada en
       iconv.internal_encoding.
      
       Tenga en cuenta que offset y length
       siempre se consideran como posiciones calculadas sobre la representación ASCII
       de los caracteres determinados por encoding, a diferencia de
       substr() que se basa siempre en la posición por byte.
      
   Devuelve la porción de string especificada por los parámetros
   offset y length.
  
   Si string es más pequeño que offset,
   se devolverá false.
   Si string tiene exactamente offset
   caracteres de longitud, se devolverá una string vacía.
  
| Versión | Descripción | 
|---|---|
| 8.0.0 | lengthyencodingahora son nullable. | 
| 7.0.11 | Si stringtiene exactamenteoffsetcaracteres de longitud, se devolverá una cadena vacía. Antes de esta versión, se devolvíafalseen este caso. | 
just fyi, iconv_substr() unknown error (0) has been resolved in PHP 5.2
you can also try mb_substr() or just substr() when dealing with this issue. Unfortunately there is no way to fix it in versions prior to 5.2.
Regards,
Teodor Sandu