Pblm accents dans base MySQL

Fermé
a.finot Messages postés 74 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 12 février 2014 - 6 nov. 2008 à 16:57
a.finot Messages postés 74 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 12 février 2014 - 6 nov. 2008 à 19:49
Bonjour,
J'ai un problème d'accents dans ma base MySQL lorsque je mets à jour des enregistrements via une page de mon site.
J'avais le même problème dans l'autre sens et j'ai utilisé la fontion htmlentities.
Y'a t-il une solution dans le même genre ?
Ma base est encodé en utf8_unicode-ci.
Voici un bout de mon code auquel j'ai essayé d'ajouter la fonction utf8_decode (en gras dans le code) mais ça ne marche pas... je ne l'ai peut-être pas mise au bon endroit, je débute ;-).
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . utf8_decode($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
$updateSQL = sprintf("UPDATE actualites SET texte=%s WHERE ID=%s",
GetSQLValueString($_POST['texte'], "text"),
GetSQLValueString($_POST['ID'], "int"));

mysql_select_db($database_ConnexionMLV, $ConnexionMLV);
$Result1 = mysql_query($updateSQL, $ConnexionMLV) or die(mysql_error());

$updateGoTo = "accueil.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}

mysql_select_db($database_ConnexionMLV, $ConnexionMLV);
$query_rsModifActu = "SELECT * FROM actualites WHERE ID = 1";
$rsModifActu = mysql_query($query_rsModifActu, $ConnexionMLV) or die(mysql_error());
$row_rsModifActu = mysql_fetch_assoc($rsModifActu);
$totalRows_rsModifActu = mysql_num_rows($rsModifActu);
?>
Merci par avance pour votre aide !!!!

2 réponses

lenono69 Messages postés 43 Date d'inscription vendredi 13 juillet 2007 Statut Membre Dernière intervention 6 mai 2010 8
6 nov. 2008 à 17:06
Et page web qui contient le formulaire, elle a quoi comme meta encode ??
0
a.finot Messages postés 74 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 12 février 2014 2
6 nov. 2008 à 19:49
Charset = utf8.

Ce truc me rend dingue !!
0