Supprimer automatiquement un caractere PHP

Fermé
jobertomeu Messages postés 1189 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 5 février 2015 - 1 sept. 2009 à 18:10
jobertomeu Messages postés 1189 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 5 février 2015 - 2 sept. 2009 à 10:19
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 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
2 sept. 2009 à 01:26
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 dimanche 19 août 2007 Statut Membre Dernière intervention 5 février 2015 86
2 sept. 2009 à 10:19
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