Problème d'accents

Eléphant du PHP | 333 Messages

25 mars 2006, 23:45

Bonjour à tous, je suis très concient que mon problème à souvent été soulevé dans le forum, mais dans tout les sujet trouvé, aucun n'a réussi à résoudre mon problème, alors je me retour à vous.

Voilà j'ai un formulaire sur mon site qui ajoute des info sur ma Bdd ( j'utilise toute la panoplie EasyPHP dernière version en LOCAL SUR MON ORDINATEUR ) jusque là pas de problème mes info se rendent, mais lorsque je consulte mes info touts les accents sont modifier, autant lorsque j'affiche le résultat en php ou simplement dans la bdd, pour résouder mon problème, je doit modifier manuellement et directement sur la bdd, ce qui est assez frustrant.

é = é
è = è
ê = ê
à = à


Voici mon code utilisé
<?php session_start();?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="StyleSheet" type="text/css" href="css/fiche.css">
</head>
<body>
<?
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("123456"); // Sélection de la base coursphp 

if (isset($_POST['ajouter']))
{
$num_hq = htmlentities($_POST['num_hq']);
$nom = htmlentities($_POST['nom']);			 //
$type_installation = htmlentities($_POST['type_installation']);
$niveau_securite = htmlentities($_POST['niveau_securite']);
$no_civique = htmlentities($_POST['no_civique']);
$rue = htmlentities($_POST['rue']);
$ville = htmlentities($_POST['ville']);
$code_postal = htmlentities($_POST['code_postal']);
$latitude = htmlentities($_POST['latitude']);
$longitude = htmlentities($_POST['longitude']);
$hyperlink = htmlentities($_POST['hyperlink']);

mysql_query('INSERT INTO fiche VALUES("", 
													"'.$num_hq.'", 
													"'.$nom.'", 
													"'.$type_installation.'",
													"'.$niveau_securite.'",
													"'.$no_civique.'",
													"'.$rue.'",
													"'.$ville.'",
													"'.$code_postal.'",
													"'.$latitude.'",
													"'.$longitude.'",
													"'.$hyperlink.'")')or die(mysql_error());		//
}
else
{}
?>
aussi j'ai essayer de modifier le charset=iso-8859-1 pour utf8 mais pas plus, ca ne fonctionne pas.
Ce n'est pas toujours facile d'essayer, mais c'est toujours vallorisant lorsqu'on y arrive !!!

Apprenez, ne le faite pas faire par les autres.

Eléphant du PHP | 254 Messages

26 mars 2006, 00:22

si tu modifies en UTF-8 la colonne apres avoir insere les données dans la BD c'est trop tard, fait le plutot lors de l'insertion avec un utf8_encode ;)

et tu ne dois pas oublier le header de ta page HTML !
Modifié en dernier par Lorenzo le 26 mars 2006, 00:27, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 mars 2006, 00:24

Je ne suis pas certain d'avoir bien compris ton problème : tu retrouves en base de données les chaines "&eacute;" à la place des "é" et tu ne comprend pas d'où ça vient ?

les codes "&...;" correspondent à l'encodage html, il ne s'agit pas d'un problème de charset. As-tu regardé à quoi servait la fonction htmlentities() que tu utilises sur toutes tes variables ? ;)

Eléphant du PHP | 333 Messages

26 mars 2006, 00:36

si tu modifies en UTF-8 la colonne apres avoir insere les données dans la BD c'est trop tard, fait le plutot lors de l'insertion avec un utf8_encode ;)

et tu ne dois pas oublier le header de ta page HTML !
comment faire ???
Ce n'est pas toujours facile d'essayer, mais c'est toujours vallorisant lorsqu'on y arrive !!!

Apprenez, ne le faite pas faire par les autres.

Eléphant du PHP | 254 Messages

26 mars 2006, 00:39


Eléphant du PHP | 333 Messages

26 mars 2006, 01:04

Je suis pas certain de bien comprendre comment l'introduire dans mon code
Ce n'est pas toujours facile d'essayer, mais c'est toujours vallorisant lorsqu'on y arrive !!!

Apprenez, ne le faite pas faire par les autres.

Eléphant du PHP | 254 Messages

26 mars 2006, 02:16

si tu es en mysql > 4.15 tu definis le charset de colonne UTF-8 et lors de l'insertion tu encode les données avec cette fonction :!: