Page 1 sur 1

Problème d' enregistrement

Posté : 05 mai 2011, 21:46
par mars77
Bonjour à tous.

Lorsque j'enregistre un texte dans ma base de donnée, j'ai les caractères avec les accents qui sont transformés.
pratique parce qu`une fois le baton étant plier devient très petit et est alors facile a ranger.

En cette occasion nous avons décider de vous faire une offre spéciale ,
Voici mon code d'enregistrement:
$titre = $_POST['titre'];
$titre = convenregi($_POST['titre']);
$texte = $_POST['texte'];
$texte = convenregi($_POST['texte']);
$auteur = convenregi($_POST['auteur']);
$texte2 = $_POST['texte2'];
$texte2 = convenregi($_POST['texte2']);
$video = $_POST['video'];
$video = convenregi($_POST['video']);
$lienvideop = $_POST['lienvideop'];
$lienvideop = convenregi($_POST['lienvideop']);
$lienvideo = $_POST['lienvideo'];
$lienvideo = convenregi($_POST['lienvideo']);
$photovideo ='';
$photo ='';
$photo2 ='';
$select = "INSERT INTO new VALUES ('','$titre','$texte','$photo','$photovideo','$video','$lienvideop','$lienvideo','$photo2','$texte2','$auteur','$delai','$temps')";
$result = mysql_query($select,$link)  or die ('Erreur : '.mysql_error() );
Ma fonction:
// Convertisseur texte en HTML compatible affichage
function convenregi($message)
{
$message = addslashes($message);
return($message);
}
J'ai essayer plein de chose mais impossible d' enregistrer correctement mon texte. Ce n'est pas un problème d'affichage car quand je copie le texte directement dans la base de données cela s'affiche correctement.

Merci a celui qui pourra m'aider.

Re: Problème d' enregistrement

Posté : 05 mai 2011, 21:49
par misterflo
Salut,

il faut vérifier le charset utilisé pour ta bdd et sur tes pages html. (utf8,ISO etc.)

Peut-être qu'un utf8_encode - utf8_decode suffirait, mais seulement si tu es en utf8 bien sur !

Re: Problème d' enregistrement

Posté : 05 mai 2011, 21:58
par mars77
Hello,

Ma page est encodée sous ce format:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Dents du midi Vol Libre</title>
</head>
Est ce que je dois utiliser utf8_encode - utf8_decode

Re: Problème d' enregistrement

Posté : 05 mai 2011, 22:14
par Ryle
A priori ta page est en utf8, mais la base dans laquelle tu stockes la valeur semble être en latin ou en iso, d'où l'encodage bizarre des accents... plutôt qu'encoder et décoder, le mieux à mon avis est de rester cohérent :)

Re: Problème d' enregistrement

Posté : 05 mai 2011, 22:26
par misterflo
Ryle a plus que raison, il est important de rester dans le même encodage entre la bdd et tes pages, ce qui évitera bon nombres d'erreurs d'encodage.

utf8_encode et _decode ne doivent être utilisés que dans des cas particuliers où l'on ne peut pas faire autrement.

Re: Problème d' enregistrement

Posté : 05 mai 2011, 22:31
par mars77
C'est juste mon encodage était en latin. Maintenant j'ai changer en utf8_general_ci mais j'ai toujours le même problème.
Est ce que j'ai mis juste Interclassement ?

Merci pour votre aide

Re: Problème d' enregistrement

Posté : 05 mai 2011, 23:12
par mars77
Ma page est bien en UFT-8
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
ET ma base de donées en
Interclassement utf8_bin

Mais toujours l'affichage des accents qui déconne.

Merci a celui qui pourra m'aider

Re: Problème d' enregistrement

Posté : 05 mai 2011, 23:17
par damien_55
Hello,

Quand tu envoies tes enregistrements a ta base, ajoute ceci:

Code : Tout sélectionner

mysql_query("SET NAMES UTF8");
ça devrait rentrer dans l'ordre.

Re: Problème d' enregistrement

Posté : 05 mai 2011, 23:34
par mars77
Hello,

J'ai ajouté:
$select = "INSERT INTO new VALUES ('','$titre','$texte','$photo','$photovideo','$video','$lienvideop','$lienvideo','$photo2','$texte2','$auteur','$delai','$temps')";
$result = mysql_query($select,$link)  or die ('Erreur : '.mysql_error() );
mysql_query("SET NAMES UTF8");
et toujours le même résultat.
pratique parce qu`une fois le baton �©tant plier devient tr�¨s petit et est alors facile a ranger.

En cette occasion nous avons d�©cider de vous faire une offre sp�©ciale ,

Nous avons mis dans cette offre 3 article, d��abord les batons, un piolet et une paire de crampons.

Le piolet est un des plus l�©ger sur le march�© et les crampons sont tr�¨s compacte et chaussent tr�¨s bien sur tout genre de souliers.
Est ce que j'ai fait juste ??????

Re: Problème d' enregistrement

Posté : 05 mai 2011, 23:43
par damien_55
Avant que tu n'enregistres :wink: :

Code : Tout sélectionner

mysql_query("SET NAMES UTF8"); $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
Si ta table est en UTF_8 et ta page aussi, ça devrait passer.

Re: Problème d' enregistrement

Posté : 06 mai 2011, 08:11
par mars77
Hello,

Effectivement cela va beaucoup mieux.

Code : Tout sélectionner

$select = "INSERT INTO new VALUES ('','$titre','$texte','$photo','$photovideo','$video','$lienvideop','$lienvideo','$photo2','$texte2','$auteur','$delai','$temps')"; mysql_query("SET NAMES UTF8"); $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
C'est parfait. Merci pour votre aide.