caractères spéciaux

Répondre
mmoussouni
mmoussouni
Déconnecté
LDM
Comment faire un é/à/ù/ç/è/ê/É/... en html ? le navigateur affiche parfois des trucs chinois, des smiley, une série de lettres bizarres,...

Je sais qu'il faut taper une chaîne de caractères mais laquelle???
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Tout dépend de l'encodage que tu utilises.

Si tu es en UTF-8, tu n'as rien de spécial à faire, ces caractères s'afficheront.
Par contre, si tu es en ISO-8859-1, il faudra utiliser des entités html.
mmoussouni
mmoussouni
Déconnecté
LDM
Merci beaucoup! ça marche beaucoup mieux sans les smiley !!
mmoussouni
mmoussouni
Déconnecté
LDM
Tout se complique dans le forum. C'est tellement une horreur smiley que je vous laisse voir par vous même :

La page d'acceuil

Si vous ne voulez pas vous inscrire,

login : temp
password : visitor

C'est dans la partie forum.

Merci encore à LA GLOBULE!! smiley
mmoussouni
mmoussouni
Déconnecté
LDM
Pour faire plus simple, j'écris normalement et ça écrit comme ça :
Si vous avez des questions à me poser, une amélioration possible ou un rapport de bug (surtout ça), répondez svp à ce sujet.
J'avoue que je bloque totalement... smiley
Pour vous aider :
c'est le même code que sur le comment faire à un détail prêt : le nom de l'auteur est directement le login du connecté mais même avant que je fasse la modification ça ne marchai pas. Ca m'étonnerai que ça vienne de LA GLOBULE mais je pense surtout à de l'encodage ou quelque chose comme ça... smiley

  1. <?php
  2. // on teste si le formulaire a été soumis
  3. if (isset ($_POST['go']) && $_POST['go']=='Poster') { 
  4.    // on teste la déclaration de nos variables
  5.    if (!isset($_POST['titre']) || !isset($_POST['message'])) { 
  6.       $erreur = 'Les variables nécessaires au script ne sont pas définies. Veuillez retaper vos données svp.'; 
  7.    } 
  8.    else { 
  9.       // on teste si les variables ne sont pas vides
  10.       if (empty($_POST['titre']) || empty($_POST['message'])) { 
  11.          $erreur = 'Au moins un des champs est vide.'; 
  12.       } 
  13.  
  14.       // si tout est bon, on peut commencer l'insertion dans la base
  15.       else { 
  16.          // on se connecte à notre base
  17.          include 'connect_bdd.php'; 
  18.  
  19.          // on calcule la date actuelle
  20.          $date = date("Y-m-d H:i:s"); 
  21.  
  22.          // préparation de la requête d'insertion (pour la table forum_sujets)
  23.          $sql = 'INSERT INTO forum_sujets VALUES("", "'.mysql_escape_string($_SESSION['login']).'", "'.mysql_escape_string($_POST['titre']).'", "'.$date.'")'; 
  24.  
  25.          // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
  26.          mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
  27.  
  28.          // on recupère l'id qui vient de s'insérer dans la table forum_sujets
  29.          $id_sujet = mysql_insert_id(); 
  30.  
  31.          // lancement de la requête d'insertion (pour la table forum_reponses
  32.          $sql = 'INSERT INTO forum_reponses VALUES("", "'.mysql_escape_string($_SESSION['login']).'", "'.mysql_escape_string($_POST['message']).'", "'.$date.'", "'.$id_sujet.'")'; 
  33.  
  34.          // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
  35.          mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
  36.  
  37.          // on ferme la connexion à la base de données
  38.          mysql_close(); 
  39.  
  40.          // on redirige vers la page d'accueil
  41.          header('Location: forum.php'); 
  42.  
  43.          // on termine le script courant
  44.          exit; 
  45.       } 
  46.    }  
  47. }  
  48. ?>
  49. <html>
  50. <head>
  51. <title>Insertion d'un nouveau sujet</title>
  52. </head>
  53.  
  54. <body>
  55.  
  56. <!-- on fait pointer le formulaire vers la page traitant les données -->
  57. <form action="insert_sujet.php" method="post">
  58. <table>
  59. <tr><td>
  60. <span class="gras">Titre :</span>
  61. </td><td>
  62. <input type="text" name="titre" maxlength="50" size="50" value="<?php if (isset($_POST['titre'])) echo htmlentities(trim($_POST['titre'])); ?>">
  63. </td></tr><tr><td>
  64. <span class="gras">Message :</span>
  65. </td><td>
  66. <textarea name="message" cols="50" rows="10"><?php if (isset($_POST['message'])) echo htmlentities(trim($_POST['message'])); ?></textarea>
  67. </td></tr><tr><td><td align="right">
  68. <input type="submit" name="go" value="Poster">
  69. </td></tr></table>
  70. </form>
  71. <?php
  72. // on affiche les erreurs éventuelles
  73. if (isset($erreur)) echo '<br /><br />',$erreur;  
  74. ?>
  75. <a href="forum.php">Retour à l'accueil du forum</a>
  76. </body>
  77. </html> 
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Oué, tu as un problème d'encodage.

Tu trouveras des solutions sur net, comme par exemple cette page.
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique