CONVERTIR UNE CHAINE UTF8 CONTENANT DES CARACTÈRES FRANÇAIS EN ISO-8859-1

Signaler
Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
16 juillet 2009
-
Messages postés
3
Date d'inscription
samedi 5 mars 2005
Statut
Membre
Dernière intervention
8 novembre 2010
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40867-convertir-une-chaine-utf8-contenant-des-caracteres-francais-en-iso-8859-1

Messages postés
3
Date d'inscription
samedi 5 mars 2005
Statut
Membre
Dernière intervention
8 novembre 2010

Après avoir testé et corrigé mon code :

function convert($str){
$str_temp2=$str;
$str_res="";
$str_para=2000;
while (strlen($str_temp2)>$str_para){
$str_temp=substr($str_temp2,0,$str_para);
$str_temp2=substr($str_temp2,$str_para,strlen($str_temp2)-$str_para);
$str_res=$str_res.utf8_encode(convertUTF8_to_8859($str_temp));
}
$str_res=$str_res.utf8_encode(convertUTF8_to_8859($str_temp2));
return $str_res;
}

Au passage si quelqu'un a une idée sur le pourquoi sa fonction ne prend pas les chaines de caractère trop longues ca m'intéresse.
Messages postés
3
Date d'inscription
samedi 5 mars 2005
Statut
Membre
Dernière intervention
8 novembre 2010

J'ai résolu de manière un peu bourrine le problème :

function convert($str){
$str_temp2=$str;
$str_res="";
if(strlen($str_temp2)>1000){
while (strlen($str_temp2)>1000){
$str_temp=substr($str_temp2,0,999);
$str_temp2=substr($str_temp2,1000,strlen($str_temp2)-1);
$str_res=$str_res.utf8_encode(convertUTF8_to_8859($str_temp));
}
}else{
$str_res=utf8_encode(convertUTF8_to_8859($str_temp2));
}
return $str_res;
}
Messages postés
3
Date d'inscription
samedi 5 mars 2005
Statut
Membre
Dernière intervention
8 novembre 2010

J'ai le même soucis que ORDLA. La fonction fonctionne a merveille avec les chaines pas trop longue mais des qu'elle dépasse un certain nombre de caractère ca "ne fait plus rien".

Dommage ...
Messages postés
2
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
18 août 2009

je vois pas bien où est le problème ça marche pas chez moi pour une langue chaîne: j'ai une chaîne de 4700 caractère, ce code m'affiche une page blanche sans message d'erreur sans rien... je comprend pas, je n'utilise ni GET ni rien je change juste la valeur de $str que je lui affecte une chaîne plus langue.
Afficher les 21 commentaires