La lettre à est remplacée par un point ?
Mourad2009B
Messages postés
145
Statut
Membre
-
Mourad2009B Messages postés 145 Statut Membre -
Mourad2009B Messages postés 145 Statut Membre -
Bonjour,
Comme indiquer dans le titre, j'ai un soucis avec mes pages php/html
en fait les lettres accentuées (é, è, ù etc... s'affichent normalement alors que la lettre à est remplacée par un point d'interrogation dans la base de donnée MySql.
voici le début de mon fichier
dans la structure de la base de données
j'ai met
l'interclassement = latin1_swedish_ci
et aussi
l'interclassement = utf8_general_ci
merci d'avance pour votre aide
Comme indiquer dans le titre, j'ai un soucis avec mes pages php/html
en fait les lettres accentuées (é, è, ù etc... s'affichent normalement alors que la lettre à est remplacée par un point d'interrogation dans la base de donnée MySql.
voici le début de mon fichier
<?php
$titre = "Administration";
function getEtat($EtatEnInt)
{
if ($EtatEnInt == 2)
return "Occasion";
else if ($EtatEnInt == 0)
return "Neuf-déclassé";
else if ($EtatEnInt == 1)
return "Neuf";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title><?php echo $titre; ?></title>
<link rel="stylesheet" href="style_administration.css" />
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<meta name="ROBOTS" content="all">
<meta name="keywords" content="Solectrom,éléctroménager,machine, cuisine">
<meta name="author" content="kessir">
<meta name="title" content="<?php echo $titre; ?>">
<meta name="description" content="Développeur d'applications informatiques et développeur web">
<meta name="geo_position" content="France">
</head>
dans la structure de la base de données
j'ai met
l'interclassement = latin1_swedish_ci
et aussi
l'interclassement = utf8_general_ci
merci d'avance pour votre aide
A voir également:
- Quel lettre remplace le point d'interrogation
- Quel site remplace coco - Accueil - Réseaux sociaux
- Fermeture de Coco : les internautes à la recherche d'un remplaçant - Accueil - Réseaux sociaux
- Clavier iphone chiffre et lettre - Guide
- Point d'interrogation à l'envers - Forum Bureautique
- Quel est le site qui remplace vivastreet ? ✓ - Forum Vos droits sur internet
2 réponses
Bonjour,
Si ces caractères s'affichent normalement quel est le problème ?
C'est peut-être juste l'outil que tu utilises pour visualiser la base de données qui n'arrive pas à afficher ces caractères, mais tant que la page html générée est bonne ça n'a aucune importance.
Si ces caractères s'affichent normalement quel est le problème ?
C'est peut-être juste l'outil que tu utilises pour visualiser la base de données qui n'arrive pas à afficher ces caractères, mais tant que la page html générée est bonne ça n'a aucune importance.
Bonjour,
Tu travailles (dans ta page web) en UTF8 ....
Il faut faire de même avec la BDD pour éviter tout souci d'encodage.
et puis... tu nous parles des données mises en BDD ...... mais à aucun moment tu ne nous montres le code qui te sert à les y mettre !
Tu travailles (dans ta page web) en UTF8 ....
Il faut faire de même avec la BDD pour éviter tout souci d'encodage.
et puis... tu nous parles des données mises en BDD ...... mais à aucun moment tu ne nous montres le code qui te sert à les y mettre !
Bonsoir à tous,
Merci d'avoir répondu
effectivement les caractères accentués s'affichent normalement sauf le à qui est remplacé par ? et ça c'est quand j'utilise
l'interclassement = latin1_swedish_ci
mais quand j'utilise
l'interclassement = utf8_general_ci le
à ne s'affiche pas du tout il est remplacé par un blanc
pour le code qui me permet d'enregistrer dans la BDD
merci d'avance pour votre aide
Merci d'avoir répondu
effectivement les caractères accentués s'affichent normalement sauf le à qui est remplacé par ? et ça c'est quand j'utilise
l'interclassement = latin1_swedish_ci
mais quand j'utilise
l'interclassement = utf8_general_ci le
à ne s'affiche pas du tout il est remplacé par un blanc
pour le code qui me permet d'enregistrer dans la BDD
//Fonction de connexion à la base de données
function setConnexion() {
$this->_bdd = "Solectrom";
$this->_localhost = "localhost";
$this->_root = "root";
$this->_mdp = "";
//On se connecte é la base de données "solectrom"
try
{
//$bdd = new PDO('mysql:host=localhost;dbname=solectrom', 'root', '');
$this->_connexion = new PDO('mysql:host=' . $this->_localhost . ';dbname=' . $this->_bdd, $this->_root, $this->_mdp);
$this->_connexion->query("SET NAMES UTF8");
/* echo("connexion réussie"); */
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
}
//Fonctions d'insertion de données dans les tables correspondantes
function fonctionInsererDonneesDansTableCorrespondante($typeAppareil, $bdd, $fichier_image, $dir_mini, $dir_reelle) {
//Si il ya plus de 300 caractere dans le commentaire on supprime l'exident.
$nouv_commentaire = substr ($_POST['commentaire'] , 0 , 300 );
switch ($typeAppareil) {
case 1:
//Ca concerne la table "table_lave_linge";
$bdd->exec('INSERT INTO table_lave_linge(reference, designation, marque, modele, etat, placement, ouverture, nbr_trs, capacite, prix, photo_reelle, photo_mini, vendu, eco_taxe, commentaire) VALUES(\'' . $this->suppr_espaces($_POST['reference']) . '\' ,\'' . $this->suppr_espaces($_POST['designation']) . '\' ,\'' . $this->suppr_espaces(htmlspecialchars($_POST['marque'])) . '\',\'' . $this->suppr_espaces(htmlspecialchars($_POST['modele'])) . '\',\'' . $_POST['etat'] . '\',\'' . $_POST['placement'] . '\',\'' . $_POST['ouverture'] . '\',\'' . $_POST['nbr_trs'] . '\',\'' . $_POST['capacite'] . '\',\'' . $_POST['prix'] . '\',\'' . $dir_reelle . '/' . $fichier_image . '\',\'' . $dir_mini . '/' . $fichier_image . '\',\'' . $_POST['vendu'] . '\',\'' . $this->suppr_espaces($_POST['eco_taxe']).'\',\'' . $this->suppr_espaces(str_replace("'", "\'", nl2br($nouv_commentaire))) . '\')') or die(print_r($bdd->errorInfo())); //str_replace c'est pour remplacer ' par \'
break;
case 2:
//Ca concerne la table "table_seche_linge";
$bdd->exec('INSERT INTO table_seche_linge(reference, designation, marque, modele, etat, placement, ouverture, degagement, capacite, prix, photo_reelle, photo_mini, vendu, eco_taxe, commentaire) VALUES(\'' . $this->suppr_espaces($_POST['reference']) . '\' ,\'' . $this->suppr_espaces($_POST['designation']) . '\' ,\'' . $this->suppr_espaces($_POST['marque']) . '\',\'' . $this->suppr_espaces($_POST['modele']) . '\',\'' . $_POST['etat'] . '\',\'' . $_POST['placement'] . '\',\'' . $_POST['ouverture'] . '\',\'' . $_POST['degagement'] . '\',\'' . $_POST['capacite'] . '\',\'' . $_POST['prix'] . '\',\'' . $dir_reelle . '/' . $fichier_image . '\',\'' . $dir_mini . '/' . $fichier_image . '\',\'' . $_POST['vendu'] . '\',\'' . $this->suppr_espaces($_POST['eco_taxe']).'\',\'' . $this->suppr_espaces(str_replace("'", "\'", nl2br($nouv_commentaire))) .'\')') or die(print_r($bdd->errorInfo()));
break;
}
merci d'avance pour votre aide
| EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :ICI Merci d'y penser dans tes prochains messages. |
Pour commencer.... active la gestion des erreurs PDO dans ton code.
Ensuite... utilises les requêtes préparées ...ça évitera de devoir faire tous ces bidouilles pour "protéger" tes insertions...
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
(tu noteras au passage qu'on n'utilises plus de OR DIE ... mais des blocs TRY/CATCH)
Pense également à récupérer PROPREMENT les variables AVANT de les utiliser.
https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index
Et pour finir... les htmlspecialchars sont à utiliser lors de l'affichage des données dans la page... pas pour leur insertion en BDD qu'on préfèrera stocker de façon
"brute".
Ensuite... utilises les requêtes préparées ...ça évitera de devoir faire tous ces bidouilles pour "protéger" tes insertions...
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
(tu noteras au passage qu'on n'utilises plus de OR DIE ... mais des blocs TRY/CATCH)
Pense également à récupérer PROPREMENT les variables AVANT de les utiliser.
https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index
Et pour finir... les htmlspecialchars sont à utiliser lors de l'affichage des données dans la page... pas pour leur insertion en BDD qu'on préfèrera stocker de façon
"brute".
Bonjour à tous,
Merci à tous pour vos remarque instructives.
Pour mon problème d'accents, c'est au niveau de l'insertion avec du script php, que ça cause problème.
car quand j’enserre les données avec phpmyadmin tout se passe très bien
voici la requête d'insertion
merci à tous.
Merci à tous pour vos remarque instructives.
Pour mon problème d'accents, c'est au niveau de l'insertion avec du script php, que ça cause problème.
car quand j’enserre les données avec phpmyadmin tout se passe très bien
voici la requête d'insertion
//Ca concerne la table "table_lave_linge";
$bdd->exec('INSERT INTO table_lave_linge(reference, designation, marque, modele, etat, placement, ouverture, nbr_trs, capacite, prix, photo_reelle, photo_mini, vendu, eco_taxe, commentaire) VALUES(\'' . $this->suppr_espaces($_POST['reference']) . '\' ,\'' . $this->suppr_espaces(htmlspecialchars($_POST['designation'])) . '\' ,\'' . $this->suppr_espaces(htmlspecialchars($_POST['marque'])) . '\',\'' . $this->suppr_espaces(htmlspecialchars($_POST['modele'])) . '\',\'' . $_POST['etat'] . '\',\'' . $_POST['placement'] . '\',\'' . $_POST['ouverture'] . '\',\'' . $_POST['nbr_trs'] . '\',\'' . $_POST['capacite'] . '\',\'' . $_POST['prix'] . '\',\'' . $dir_reelle . '/' . $fichier_image . '\',\'' . $dir_mini . '/' . $fichier_image . '\',\'' . $_POST['vendu'] . '\',\'' . $this->suppr_espaces($_POST['eco_taxe']).'\',\'' . $this->suppr_espaces(str_replace("'", "\'", nl2br(htmlspecialchars(utf8_encode($nouv_commentaire))))) . '\')');
merci à tous.