Supprimer automatiquement un caractere PHP

jobertomeu Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   -  
jobertomeu Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
lorsque je lis un tag d'une musique, avec un script PHP, il y a des losanges noir avec un point d'interrogation blanc dedans derrière le titre et le nom de l'album ...

Comment puis faire pour les retirer car ensuite, j'effectue un enregistrement MySQL pour un moteur de recherche, et s'il y a ces caractères ... dans les mots clés, ça ne va pas le faire ...

Merci de votre aide ;)

Voila la script pour ceux qui en ont besoin ... :

     <?
     function ReadTag($path)
     {
    
     $genre_array = array("Blues","Classic Rock","Country","Dance","Disco","Funk","Grunge",
     "Hip-Hop","Jazz","Metal","New Age","Oldies","Other","Pop","R&B",
     "Rap","Reggae","Rock","Techno","Industrial","Alternative","Ska",
     "Death Metal","Pranks","Soundtrack","Euro-Techno","Ambient",
     "Trip-Hop","Vocal","Jazz+Funk","Fusion","Trance","Classical",
     "Instrumental","Acid","House","Game","Sound Clip","Gospel",
     "Noise","AlternRock","Bass","Soul","Punk","Space","Meditative",
     "Instrumental Pop","Instrumental Rock","Ethnic","Gothic",
     "Darkwave","Techno-Industrial","Electronic","Pop-Folk",
     "Eurodance","Dream","Southern Rock","Comedy","Cult","Gangsta",
     "Top 40","Christian Rap","Pop/Funk","Jungle","Native American",
     "Cabaret","New Wave","Psychadelic","Rave","Showtunes","Trailer",
     "Lo-Fi","Tribal","Acid Punk","Acid Jazz","Polka","Retro",
     "Musical","Rock & Roll","Hard Rock","Folk","Folk-Rock",
     "National Folk","Swing","Fast Fusion","Bebob","Latin","Revival",
     "Celtic","Bluegrass","Avantgarde","Gothic Rock","Progressive Rock",
     "Psychedelic Rock","Symphonic Rock","Slow Rock","Big Band",
     "Chorus","Easy Listening","Acoustic","Humour","Speech","Chanson",
     "Opera","Chamber Music","Sonata","Symphony","Booty Bass","Primus",
     "Porn Groove","Satire","Slow Jam","Club","Tango","Samba",
     "Folklore","Ballad","Power Ballad","Rhythmic Soul","Freestyle",
     "Duet","Punk Rock","Drum Solo","Acapella","Euro-House","Dance Hall");
    
     $file=fopen($path, "rb");
    
     if($file)
     {
     fseek($file, 0, SEEK_END);
     fseek($file, -128, SEEK_CUR);
    
     $tag=fread($file, 128);
    
     fclose($file);
     }
     else
     {
     return 0;
     }
    
     if ($tag[0]=='T' && $tag[1]=='A' && $tag[2]=='G')
     {
     $title=substr($tag,3,30);
     $artist=substr($tag,33,30);
     $album=substr($tag,63,30);
     $year=substr($tag,93,4);
     $comment=substr($tag,97,30);
     $type=ord(substr($tag,127,1));
    
     if($type >= 0 && $type <= 125)
     $genre = $genre_array[$type];
     else
     $genre = "none";
    
     if (ord($comment[28]) == 0 && ord($comment[29]) != 0)
     {
     $track = ord($comment[29]);
     $comment[29] = "\0";
     }
     else
     {
     $track = 0;
     }
    
    
     return sprintf("%s-%s-%s-%s-%s-%s-%s",$title, $artist, $album, $year, $comment, $genre, $track);
     }
     else
     {
     return 0;
     }
     }
    
     //Exemple d'utilisation/
    
     $path = "1.mp3";
     $tag = ReadTag($path);
    
     if($path == 0)
     print("Lecture du tag impossible");
     else
     {
    
     list($title, $artist, $album, $year, $comment, $genre, $track) = explode ("-", $tag);
    
     print($title);
     print("<br>");
     print($artist);
     print("<br>");
     print($album);
     print("<br>");
     print($year);
     print("<br>");
     print($comment);
     print("<br>");
     print($genre);
     print("<br>");
     print($track);
     print("<br>");
	 
	 
	 
A voir également:

2 réponses

scriptiz Messages postés 1494 Statut Membre 425
 
Tu dois vérifier que l'encodage du fichier, l'encodage que tu spécifie dans le Content-Type et l'encodage de ta base de donnée soit les mêmes pour que les accents s'affichent bien.

Si tu travaille sur windows je te conseille l'iso-8859-1 (pour la DB : latin1_swedish_ci ou general en fait). Car les fichiers seront directement enregistrés dans le bon format.

Si tu es sous linux, met ta db en utf8-general-ci, tes fichiers seront automatiquement enregistrés en UTF8, et pour ton Content-Type HTML met utf-8 aussi.

Renseigne toi sur les encodages de pages web sur google sinon.
0
jobertomeu Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   86
 
Merci, mais ça change rien, constate le par toi même : http://musicmania.user.fr/Musiques/donnees/ajout.php

et voici mon entête de fichier PHP :

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ajout musique</title>
</head>


Voila, Merci ;)
0