Page 1 sur 1

Problème d'accents

Posté : 25 mars 2006, 23:45
par auclairp
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.

Posté : 26 mars 2006, 00:22
par Lorenzo
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 !

Posté : 26 mars 2006, 00:24
par Ryle
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 ? ;)

Posté : 26 mars 2006, 00:36
par auclairp
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 ???

Posté : 26 mars 2006, 00:39
par Lorenzo

Posté : 26 mars 2006, 01:04
par auclairp
Je suis pas certain de bien comprendre comment l'introduire dans mon code

Posté : 26 mars 2006, 02:16
par Lorenzo
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 :!: