Aide sur str_replace();
Résolu
Sinistrus
Messages postés
1010
Date d'inscription
Statut
Membre
Dernière intervention
-
Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous !
Je galère fort sur la fonction str_replace(); et sollicite votre aide !
J'ai 3 zone de texte a gérer :
- ma table est en general_ci
- mes feuilles sont déclarée utf-8
- voici mon code :
Je "sais" que ce n'est pas correcte, mais demande votre aide pour remplacer des caractères non affichés ou souvent remplacés par de "?"
Merci d'avance
Je galère fort sur la fonction str_replace(); et sollicite votre aide !
J'ai 3 zone de texte a gérer :
- ma table est en general_ci
- mes feuilles sont déclarée utf-8
- voici mon code :
$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Erreur de connexion '.mysql_error());
mysql_select_db(MYSQL_BASE,$db) or die('Erreur de selection '.mysql_error());
mysql_query("SET NAMES 'utf8'");
$Description = str_replace(chr(146), "’", $Description);
$Description = str_replace(chr(156), "oe", $Description);
$Conseils = str_replace(chr(146), "’", $Conseils);
$Conseils = str_replace(chr(156), "oe", $Conseils);
$Resultat = str_replace(chr(146), "’", $Resultat);
$Resultat = str_replace(chr(156), "oe", $Resultat);
$sqlfr = "UPDATE tb_produits SET Description ='$Description', Conseils ='$Conseils', Resultat ='$Resultat' WHERE NumId='$NumId'";
mysql_query($sqlfr) or die('Erreur SQL !'.$sqlfr.'<br>'.mysql_error()); ?>
Je "sais" que ce n'est pas correcte, mais demande votre aide pour remplacer des caractères non affichés ou souvent remplacés par de "?"
Merci d'avance
2 réponses
'lut, plutôt que de faire un nombre in-mesurable de
str_replace, fais plutôt un seul
strstravec un tableau de correspondance comme je l'ai fait ici. (j'ai mis un lien car CCM remplace les lettres justement)
Évidemment... Comme ces chaînes de caractères vont dans une requête SQL, il faut utiliser la fonction mysql_real_escape_string sur chacune des variables
La chaîne de caractères finira comme prévue dans la base de données.
$Description,
$Conseilet
$Resultat:
$Description = mysql_real_escape_string(strtr($Description, $remplace););
La chaîne de caractères finira comme prévue dans la base de données.