Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/12/2010, 12h18   #1
Invité de passage
 
Inscription : février 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 14
Points : 3
Points : 3
Par défaut str_replace et encodage

Bonjour,
je souhaite remplacer certains caractères de mes tables Mysql mais ceux ci, du fait de leur encodage me résistent.
C'est par exemple le cas pour :
♬ (notre de musique)

qui dans ma base de données est stocké comme ceci :
Citation:
♬
et est affiché sur mes pages web après traitement php comme ceci :
Citation:
♬
Mon souhait est de le supprimer avant enregistrement dans la base ou a défaut avant affichage.

J'utilise pour ce faire :
Code :
$message = str_replace ("♬", " ", $message);
mais cela ne fonctionne pas, je pense à cause du symbole "™".
puisque
Code :
$message = str_replace ("â", " ", $message);
et
Code :
$message = str_replace ("¬", " ", $message);
fonctionnent

Quelqu'un saurait il m'aider à résoudre ce problème ?
(Peut être avec des expressions régulières ?)
ravaza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 15h46   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu souhaites les supprimer ou les stocker et les restituer correctement ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 18h11   #3
Invité de passage
 
Inscription : février 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 14
Points : 3
Points : 3
je souhaite supprimer
ravaza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 18h40   #4
Membre éprouvé
 
Avatar de Tesing
 
Xavier Schepler
Étudiant
Inscription : septembre 2009
Messages : 273
Détails du profil
Informations personnelles :
Nom : Xavier Schepler
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : septembre 2009
Messages : 273
Points : 402
Points : 402
Salut,

Tu pourrais essayer en appliquant une des fonctions utf8_decode ou utf8_encode sur une des chaînes à traiter.
__________________
Keep it simple, stupid !
Tesing est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 19h08   #5
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
N'auriez-vous pas oublié d'indiquer l'encodage réel (UTF-8, son troisième paramètre) à htmlentities, par hasard ?

Caractère Unicode : ♬
Point de code : 9836
(3) Unités de code UTF-8 : 226, 153, 172. Ce qui correspondrait, en Windows-1252, aux caractères â, ™ et ¬ (not).

Ce qui pourrait nous amener à ces questions : htmlentities est-il utilisé correctement et à bon escient ? En quoi de tels caractères sont un problème si les encodages sont utilisés de manière cohérente (s'il y en a un, puisqu'il semble bien y avoir contradiction - UTF-8 (source ?) vs ISO-8859-1 (htmlentities à l'insertion ?) & Windows-1252 (au réaffichage ?), ce n'est pas vraiment ainsi que vous le réglerez) ?
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 00h07   #6
Invité de passage
 
Inscription : février 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 14
Points : 3
Points : 3
Merci pour cet éclairage,
je vais étudier cela.
ravaza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 15h38   #7
Invité de passage
 
Inscription : février 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 14
Points : 3
Points : 3
Effectivement je m'y prenais mal, ca fonctionne désormais.
A titre informatif, puis je vous demander ou vous avez trouvé les références des caractères que vous citez ?

Citation:
Caractère Unicode : ♬
Point de code : 9836
(3) Unités de code UTF-8 : 226, 153, 172. Ce qui correspondrait, en Windows-1252, aux caractères â, ™ et ¬ (not).
ravaza est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h22.


 
 
 
 
Partenaires

Hébergement Web