Bonjour
Je demande votre aide pour résoudre un probleme dont je ne connais pas l'origine:

J'ai un code qui fonctionne trés bien en local (win xp) avec wamp ou easyphp, le voici:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
<?php
header('Content-Type: text/html; charset=UTF-8');
 
if (isset($_POST['lemot']) && !empty($_POST['lemot']))
{
include "conectbdd.php";
 
      $reqaj = "UPDATE liens SET lelien='" . mysql_real_escape_string($_POST[lemot]) . "' WHERE (num='1')";
      if (mysql_query ($reqaj, $lien))
      {          		
      $reqtxt = "SELECT *FROM texte WHERE (num='1')";
      $restxt =  mysql_query($reqtxt, $lien);
      $ligtxt = mysql_fetch_assoc($restxt);           
      $letexte  = $ligtxt['letexte'];
 
      $reqliens = "SELECT *FROM liens WHERE (num='1')";
      $resliens =  mysql_query($reqliens, $lien);
      $ligliens = mysql_fetch_assoc($resliens);
      $textedulien = $ligliens['lelien'];
 
      $remplacement = " <a href=\"www.unsite.org\" target=\"_blank\">$textedulien</a> ";
      $nouvtexte = preg_replace("#\b" . $textedulien. "\b#iu", $remplacement, $letexte); 
 
            $requete = "UPDATE contenu SET lecont='" . mysql_real_escape_string($nouvtexte) . "' WHERE (num='1')";
            if (mysql_query ($requete, $lien))
            {
            echo  "Le lien est en place";
            }
            else
            {
            echo  "probleme pour modifier la table contenu !!";
            }
      }
      else
      {
      echo "probleme pour modifier la table liens !!";
      }
mysql_close($lien);
}
else
{
echo "variable vide !!";
}
echo "<a href=\"index.php\">Retour</a>";
?>
Ce code me permet de prendre un mot dans la table: liens puis, s'il existe dans la table texte, de le transformer en lien cliquable et de ranger le nouveau texte dans la table: contenu.
La base de DD est en interclassement utf8_unicode_ci ainsi que les tables
mes scripts et mes page d'affichage sont encodés en UTF-8
Hélas chez mon hébergeur ça ne fonctionne pas avec les mots commencants ou finissants avec une lettre accentué par exemple= égaré ou santé !!
si le mot comporte une lettre accentué a l'intérieur ça fonctionne par exemple= générer!!
La regex ne reconnait pas les mot commençant ou finissants par un caractère spécial !!

Sur mon hébergemt ma base est aussi en utf8_unicode_ci et la version de mysql est aussi la 5

Merci d'avance pour vos suggestions
Mathieu