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 — Coupe une partie de chaîne
$string,$offset,$length = null,$encoding = null
   Coupe une partie de la chaîne string à partir
   de la position offset et d'une longueur de
   length.
  
stringLa chaîne de caractères originale.
offset
       Si offset n'est pas négatif,
       iconv_substr() retourne le segment de
       string en commençant au caractère numéro 
       offset, en comptant à partir de zéro.
      
       Si offset est négatif,
       iconv_substr() retourne le segment en commençant à la
       position offset caractères et en allant vers la
       fin de la chaîne de caractères string.
      
length
       Si le paramètre length est donné et positif, la
       valeur retournée contiendra au plus length caractères
       de la portion de chaîne qui commence à offset
       (en fonction de la taille de la chaîne string).
      
       Si length est passé et négatif,
       iconv_substr() coupe la portion externe de
       string depuis le caractère numéro offset
       jusqu'au caractère numéro length, compté depuis la fin de
       la chaîne de caractères. Dans le cas où offset est également négatif,
       la position de départ est calculée en amont, suivant la règle expliquée plus haut.
      
encoding
       Si encoding est omis ou null,
       string est supposé avoir été encodée en
       iconv.internal_encoding.
      
       Notez que offset et length
       sont toujours considérés comme représentant une position calculée sur la représentation ASCII
       des caractères déterminés par encoding, contrairement à
       substr() qui se base toujours sur la position par octet.
      
   Retourne la portion de string spécifié par les paramètres
   offset et length.
  
   Si string est plus petit que offset,
   false sera retourné.
   Si string est égal à offset
   caractères long, une chaîne de caractères vide sera retourné.
  
| Version | Description | 
|---|---|
| 8.0.0 | lengthetencodingsont désormais nullable. | 
| 7.0.11 | Si stringest égal àoffsetcaractères long, une chaîne vide sera
        retournée. Antérieur à cette version,falseétait retourné dans ce cas. | 
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