[PHP] caracteres spéciaux

Résolu
Bon voila, j'aimerais récuperer la valeur d'un champs longtexte sur un page PHP...

J'ai essayé ca:

<?php 													  
//connection a la base
include("include/connection.php3"); 
$id= $_GET['lot'];
$sql ="SELECT id, lot, type, surface, prix, terrasse, expo, etage, commercial, mail, tel, ville, Programme, description, photo1, photo2 FROM appartement where id='".$id."'"; 
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
while ($data=mysql_fetch_array($req))

echo 'fg'.data['description'].''
?>	


ca marche pas (je m'en douté un peu...)

Donc si quelqu'un peu me donner une piste?

2 eme probleme:

Si j'arrive a récuperer le text il y aura tres certainement des caracteres spéciaux comme "é" ect...

Or je sais que sur PHP ca ne ce passe pas si simplement, alors comment faire pour les "é". Peu etre avec la fonction Print?

Az
Configuration: Windows XP
Firefox 2.0.0.6

5 réponses

  1. Ton script devrait marcher, excepté qu'il manque un ; à la fin de la dernière ligne.
    Pour ce qui est du texte accuntué, tu peux utiliser la fonction htmlentities() qui te convertira tous les caractères possible en entité HTML. Mais il faut mieux faire la conversion avant d'enregistrer dans la base.

    Bonne chance
    1. mr_penguin à ecrit:
      "Mais il faut mieux faire la conversion avant d'enregistrer dans la base. "

      Je suis preneur mais peux tu m'en dire plus ou me donner un exemple?

      Az
      1. Hé bien avant de faire ton INSERT tu execute la fonction :
        $test = "Un é par exemple";
        $test = htmlentities($maVariable); // $maVariable contient "Un &eacute; par exemple" maintenant
        mysql_query( "INSERT INTO `table`(`champ1`) VALUES(".$test." )" );
        ect, ect...
        

        Bonne chance
        1. oups, erreur :

          $test = "Un é par exemple";
          $test = htmlentities($test); // $test contient "Un é par exemple" maintenant
          mysql_query( "INSERT INTO `table`(`champ1`) VALUES(".$test." )" );
          ect, ect...
      2. merci c' est nickel. Apres avoir cherché une aide pendant 3 heures, je viens enfin de touver ton post.