Page 1 sur 1

un petit probleme à la c...

Posté : 02 nov. 2005, 13:34
par epilogg
salut tout le monde!

je sens que je vais poser une question con dont la réponse est dans les multiples tutoriaux mais je la trouve pas!
c tout simple, lorsque j'affiche les données de ma base sur une page html, les accents n'apparaissent pas et sont remplacés par des signes chinois... j'ai du oublier de déclarer quelque chose non, qui si je m'avance aurait à voir avec quelque chose qui s'appelle unicode ?! :?
merci :wink:

Posté : 02 nov. 2005, 13:39
par jeff
salut
compare l'encode de ta page html a ce lui que tu utilise dans ta base

Posté : 02 nov. 2005, 13:40
par Cyrano
Primo, ta question est régulièrement abordée, tu n'as pas du chercher beaucoup;
Secundo, tu n'as visiblement pas non plus lu les règles du forum exigeant un titre clair et explicite : que tu aies un problème, on s'en doute, sinon tu ne poserais pas de question et que ladite question soit "à la con", on s'en cogne, aucune question n'est idiote, ce qui est idiot, c'est de ne pas la poser.

Fais une recherche dans le forum sur "Accent mysql"

Posté : 02 nov. 2005, 14:15
par epilogg
ômmmm zen cyrano, désolé pour la non explicité de mon titre, ze ne recommencerai pas zé promis.
j'ai lu les quelques posts qui concernaient mon probleme et j'ai trouvé un ou deux scripts intéressants (mais déconseillés d'apres ce que j'ai pu comprendre) qui faisaient la conversion automatiquement.
ainéfé (dirait douste) mes infos sont importées d'un fichier excel de 500 li dans la base mysql que j'affiche ensuite. je ne peux donc pas retaper manuellement chaque accent ou sigle euros.
donc je vous montre mon code et le script que je ne sais pas ou insérer (je débute tout juste sous php)
 <td height="558" valign="top">
	
	<?
	mysql_connect('****','*****','****');
	mysql_select_db('*****');
	
	$requete='SELECT heure,type,prix FROM agenda_3 ORDER BY id';
	
	$var = mysql_query($requete) or die;
	
	while ($data=mysql_fetch_array($var))
	{
	?>

<p>&nbsp;</p>
<table width="800" border="0" cellpadding="0" cellspacing="0">

  <tr> 
 
    <td width="135" height="40" align="left" valign="top"><font color="#990000" size="-1"><? echo $data['heure']; ?></font></td>
    <td width="530" align="left" valign="middle"><strong><font color="#990000" size="-1"><? echo $data['type']; ?></font></strong></td>
    <td width="135" align="right" valign="top"><font color="#990000" size="-1"><strong><? echo $data['prix']; ?></strong></font></td>
 
 
  </tr>
  
</table>
       

    
	<?
		}
		
		mysql_close();
		
	?>
	
	
      </td>
  </tr>
</table> 
je suppose que c'est bourré de fautes :oops:

et le scrip dont j'ai besoin
 
<?
function htmlentities_iso88592($string='') {
   $pl_iso = array('&ecirc;', '&oacute;', '&plusmn;', '&para;', '&sup3;', '&iquest;', '&frac14;', '&aelig;', '&ntilde;', '&Ecirc;', '&Oacute;', '&iexcl;', '&brvbar;', '&pound;', '&not;', '&macr;', '&AElig;', '&Ntilde;');    
   $entitles = get_html_translation_table(HTML_ENTITIES);
   $entitles = array_diff($entitles, $pl_iso);
   return strtr($string, $entitles);
}
?>
il a fonctionné quand je l'ai inséré mais seulement pour ma premiere ligne. ensuite le serveur me dit qu'il ne peut etre rappelé pour les autres lignes, alors je voulais savoir ou le placer pour qu'il soit appelé une seule fois pour l'ensemble des lignes, merki :wink:

Posté : 02 nov. 2005, 14:46
par epilogg
yes merci jeff j'ai réfléchi à ta brève réponse et puis je me suis souvenu qu'au gré de mes bidouillages j'avais modifié le charset en UTF-8, je l'ai remis en ISO et hop ca roule, grazié millé senor! :wink: :wink: