Conversion / Reconnaissance caractère PHP
Fermé
Jaime
-
27 août 2010 à 14:59
varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 - 27 août 2010 à 16:03
varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 - 27 août 2010 à 16:03
A voir également:
- Conversion / Reconnaissance caractère PHP
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Reconnaissance musique en ligne - Guide
- Caractere speciaux mac - Guide
6 réponses
varfendell
Messages postés
3256
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
8 février 2020
704
27 août 2010 à 15:12
27 août 2010 à 15:12
Bonjour,
j'ai peut être une solution, mais cela ne devrait marcher qu'avec des caractères spéciaux...donc s'il considère $ ou / comme un caractère spécial, cela devrait marcher:
exemple de solution:
$exemple = "as\cfrh";
$exemple = str_replace("\","",$exemple );
devrait normallement donner
$exemple = "ascfrh";mais il n'en est rien. En effet, tu doit declarer ton caractere spécial:
$exemple = str_replace("\\","",$exemple );
donnera le resultat attendu precedemment/
En gros mettre un '\' devant le caractère spécial pour qu'il soit pris en compte.
Dans ton cas peut etre que :
$exemple = str_replace("à\§","ç",$exemple );
marchera
j'ai peut être une solution, mais cela ne devrait marcher qu'avec des caractères spéciaux...donc s'il considère $ ou / comme un caractère spécial, cela devrait marcher:
exemple de solution:
$exemple = "as\cfrh";
$exemple = str_replace("\","",$exemple );
devrait normallement donner
$exemple = "ascfrh";mais il n'en est rien. En effet, tu doit declarer ton caractere spécial:
$exemple = str_replace("\\","",$exemple );
donnera le resultat attendu precedemment/
En gros mettre un '\' devant le caractère spécial pour qu'il soit pris en compte.
Dans ton cas peut etre que :
$exemple = str_replace("à\§","ç",$exemple );
marchera
varfendell
Messages postés
3256
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
8 février 2020
704
27 août 2010 à 15:23
27 août 2010 à 15:23
quand tu fais un echo de ta variable avant et apres, cela te donne quoi?
Entre les 2, la variable ne subit aucun changement.
On dirait vraiment qu'il n'y a pas de détection par le replace, étrange...
On dirait vraiment qu'il n'y a pas de détection par le replace, étrange...
varfendell
Messages postés
3256
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
8 février 2020
704
27 août 2010 à 15:31
27 août 2010 à 15:31
montre moi les lignes:
d'atribution de ta variable (ou tu y stoke un element)
le premier echo
le replace
et le second echo
d'atribution de ta variable (ou tu y stoke un element)
le premier echo
le replace
et le second echo
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voici :
$fp = fopen("feedProducts.txt", "r");
$current_line = fgets($fp);
while (!feof($fp)) {
$current_line = fgets($fp);
echo $current_line; //RESULTAT : "conà§u"
$current_line= str_replace("à§","ç",$current_line);
echo $current_line; //RESULTAT : "conà§u"
fwrite($fp,$current_line);
}
Si en revanche avec le même code, je fais un replace sur un autre mot, pas de problème.
$fp = fopen("feedProducts.txt", "r");
$current_line = fgets($fp);
while (!feof($fp)) {
$current_line = fgets($fp);
echo $current_line; //RESULTAT : "conà§u"
$current_line= str_replace("à§","ç",$current_line);
echo $current_line; //RESULTAT : "conà§u"
fwrite($fp,$current_line);
}
Si en revanche avec le même code, je fais un replace sur un autre mot, pas de problème.
varfendell
Messages postés
3256
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
8 février 2020
704
Modifié par varfendell le 27/08/2010 à 16:03
Modifié par varfendell le 27/08/2010 à 16:03
essaye en faisant
$current_line= str_replace("à\§","ç",$current_line);
ou
$current_line= str_replace("\à§","ç",$current_line);
ou
$current_line= str_replace("\à\§","ç",$current_line);
$current_line= str_replace("à\§","ç",$current_line);
ou
$current_line= str_replace("\à§","ç",$current_line);
ou
$current_line= str_replace("\à\§","ç",$current_line);
Leviathan49
Messages postés
257
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
22 juillet 2011
70
Modifié par Leviathan49 le 27/08/2010 à 16:02
Modifié par Leviathan49 le 27/08/2010 à 16:02
C'est pas plutôt É => Ã0/00 et ç => ç ?
Si c'est le cas essaye de passer ta chaine de caractère par un petit utf8-decode https://www.php.net/manual/fr/function.utf8-decode.php.
Si c'est le cas essaye de passer ta chaine de caractère par un petit utf8-decode https://www.php.net/manual/fr/function.utf8-decode.php.