Charset BDD

Ce topic a été résolu
TBMaster59

TBMaster59 Le 7 avril 2017 à 23:35 (Édité le 25 janvier 2019 à 17:53)

Bonjours j'ai un problème

le mode UTF-8 se met une fois sur 2

pourtant j'ai mis la balise :
<meta charset="UTF-8">
J'ai besoin de votre aide

ça m'affiche sa : ?

Voici des screen :


lien du site web
ici
TheOldNoob

TheOldNoob Le 8 avril 2017 à 08:46 (Édité le 8 avril 2017 à 13:39)

salut l'ami,
Il y a un soucis de sémentique sur son site.
Il faut organisé correctement ton html.

Dans ton head, tu a que ta balise <base> 
Tu doit y mettre toute tes META, la balise title, tes link, certains script.

Idéalement tes scripts sont dans des fichiers ranger correctement hors de ton html que tu va appelé avec la balise <script>

Pour rappel, on commence par déclaré le !doctype, puis le html, puis tu met une balise <head> puis <body>

Dans ta balise <body>  (qui se trouve dans la balise html juste sous la balise <head>):
<body>
   <header>
      <nav> ton menu etc... 
      </nav>
      <h1> a mettre avant ou après ton menu de navigation suivent le design de ton site<h1>
   </header>
   <main>
      ici plein de <div>, de <span>, de <p>, de <strong>, des <br> (mais pas trop), des <hr>, des <form>...
      et tout plein d'autre truc sympas
   </main>
   <footer>   
      tes CGU, et autre mention légal, tes infos de contact, tes réseaux sociaux, lien vers plein de trucs cool
   </footer>
</body>
TBMaster59

TBMaster59 Le 8 avril 2017 à 11:46

Salut j'ai pas compris entièrement ca que tu as dit mais j'ai mis:
<head>
   <base href="http://<?=$_SERVER['HTTP_HOST']?>" charset="UTF-8">
   <title>Aniblock - Survival - TheBigMaster59</title>
   <link rel="stylesheet" type="text/css" href="css/style.css">
   <link rel="stylesheet" type="text/css" href="css/modal.css">
   <link rel="icon" type="image/x-icon" href="img/ani.png" />
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
   <script src="js/jquery.wysibb.js"></script>
   <script src="js/fr.js"></script>
   <link rel="stylesheet" href="css/wbbtheme.css" />
   <link rel="stylesheet" href="admin/bootstrap/css/bootstrap.css">
   <link rel="stylesheet" href="admin/dist/css/Aniblock.css">
    <!-- Font Awesome -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
    <!-- Ionicons -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css">
   <!-- Init WysiBB BBCode editor -->
   <script>
   $(document).ready(function() {
   var wbbOpt = {
   buttons: "bold,italic,underline,<?php if ($_SESSION['rang'] == 2 OR $_SESSION['rang'] == 3 OR $_SESSION['rang'] == -1 OR $_SESSION['rang'] == 1) {echo "fontcolor,sub,sup,fontsize,";} ?>|,img,link,video,|,code,quote,|<?php if ($_SESSION['rang'] == 2 OR $_SESSION['rang'] == 3 OR $_SESSION['rang'] == -1 OR $_SESSION['rang'] == 1) {echo ",numlist,bullist,table,|,justifyleft,justifycenter,justifyright,strike";} ?>"
   }
   $("#bbcode").wysibb(wbbOpt);
   });
   </script>
</head>
j'ai mis tout les script là car j'ai je croie Jquery qui vas bugger si je les met en bas
j'ai aussi enbelli mon code et ça ne change rien !
TheOldNoob

TheOldNoob Le 8 avril 2017 à 13:38

parce qu'on declare pas le charset dans une balise base mais dans une META
<meta charset="UTF-8">
TBMaster59

TBMaster59 Le 8 avril 2017 à 13:44 (Édité le 8 avril 2017 à 13:57)

@TheOldNoob Quand je met cet balise les infomarmation qui sorte de la bases de donné, on leur accents remplacer par ça : 
?
TheOldNoob

TheOldNoob Le 8 avril 2017 à 13:48

Normalement oui
TBMaster59

TBMaster59 Le 8 avril 2017 à 13:54

mais ça m'affiche pas les accents du coup !
Zbuu

Zbuu Le 8 avril 2017 à 15:58 (Édité le 8 avril 2017 à 16:06)

Ta base de donnée, tes tables sont aussi en utf-8 ?

j'ai mis tout les script là car j'ai je croie Jquery qui vas bugger si je les met en bas 
Si tu as besoin de jquery alors tu peux quand même placer tes scripts js dans le body il faut juste penser a charger jquery avant 😀 

<!DOCTYPE html>
<html>
   <head>
      <meta charset="utf-8">
      <title>Aniblock - Survival - The BigMaster59</title>
      <!-- Appels des fichiers CSS -->
      <link rel="stylesheet" type="text/css" href="css/style.css">
      <!-- LES AUTRES FICHIERS CSS -->
   </head>
   <body>

      <!-- TON CODE HTML -->

      <!-- /. FIN -->
      
      <!-- Appel de jQuery -->
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
      <!-- Appels des autres -->
      <script src="js/jquery.wysibb.js"></script>
      <!-- ET ICI TU PEUX AUSSI FAIRE APPEL A TES FONCTIONS -->
      <script>
         $(document).ready(function() {
            var wbbOpt = {
               buttons: "bold,italic,underline,<?php if ($_SESSION['rang'] == 2 OR $_SESSION['rang'] == 3 OR $_SESSION['rang'] == -1 OR $_SESSION['rang'] == 1) {echo "fontcolor,sub,sup,fontsize,";} ?>|,img,link,video,|,code,quote,|<?php if ($_SESSION['rang'] == 2 OR $_SESSION['rang'] == 3 OR $_SESSION['rang'] == -1 OR $_SESSION['rang'] == 1) {echo ",numlist,bullist,table,|,justifyleft,justifycenter,justifyright,strike";} ?>"
               }
               $("#bbcode").wysibb(wbbOpt);
            }
         });
      </script>      
   </body>
</html> 
TBMaster59

TBMaster59 Le 8 avril 2017 à 16:22

Je sais pas si elles sont en UTF-8 mes tables , et je sais pas comment les mettres en UTF-8, ni comment voir si elles sont en UTF-8
Zbuu

Zbuu Le 8 avril 2017 à 17:18

Tu vas sur phpMyAdmin, tu cliques sur ta base de donnée, ensuite en haut tu as un bouton "Opérations" (en haut) tu cliques dessus. Ensuite tu as un select nommé "Interclassement" (doit être sur utf8_general_ci ou utf8_unicode_ci)

Tu peux aussi forcer l'utf8 pendant la connexion a la base de donnée : 
try {
   $bdd = new PDO('mysql:host=localhost;dbname=****', 'root', '', array(
      PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAME UTF8",
      PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,   
   ));
} catch(PDOException $e) {
   die('Connexion échouée : ' . $e->getMessage());
}
Ou en passant directement le charset dans le dsn : 

try {
   $bdd = new PDO('mysql:host=localhost;dbname=****;charset=utf8', 'root', '', array(
      PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,   
   ));
} catch(PDOException $e) {
   die('Connexion échouée : ' . $e->getMessage());
}
TBMaster59

TBMaster59 Le 9 avril 2017 à 00:26

 merci de ta reponce mais ça ne marche toujours pas j'ai mis PhPmyAdmin en utf8_general_ci et en utf8_unicode_ci mais ça ne change rien, j'ai aussi test tes codes mais soi ça m'affiche plus rien soi ça veux plus ce co à la BDD
TheOldNoob

TheOldNoob Le 9 avril 2017 à 07:43

il faut que chacune de tes tables soit en utf8_general_ci
Balatharas

Balatharas Le 9 avril 2017 à 12:44

Normalement le second code de Zbuu devrait suffire...
TBMaster59

TBMaster59 Le 9 avril 2017 à 13:36 (Édité le 9 avril 2017 à 14:13)

mais pour le premier code ça me met:
Connexion échouée : SQLSTATE[HY000] [1193] Unknown system variable 'NAME'
Zbuu

Zbuu Le 9 avril 2017 à 16:58 (Édité le 9 avril 2017 à 16:59)

C'est parce que j'ai fais une petite erreur c'est NAMES et non NAME :) 
TBMaster59

TBMaster59 Le 9 avril 2017 à 17:18

JE T'AIME ZBUU

Merci de ton aide ça fonctionne !!!!!  
:D 😄 😄 😄 😄 😄 😄
TBMaster59

TBMaster59 Le 9 avril 2017 à 17:31 (Édité le 9 avril 2017 à 18:36)

[Supprimé]
Zbuu

Zbuu Le 9 avril 2017 à 20:47

Penses à mettre le sujet en résolu 😉
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte