Bonjour à tous,
J'ai lu pas mal de sujet mais étant un peu nouveau dans ce domaine, je vous explique mon problème:
J'ai exporté ma base de donnée SQL qui était en Latin1.
Quand j'importe cette base sur le nouveau serveur, tous les accents sont codés comme par exemple le "é" est devenu "é" .
Ma nouvelle base est en UTF8.
J'ai récupéré le code de ces caractères en décimal en suivant ton code:
et j'obtiens bien:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 -- config théorique : SHOW VARIABLES LIKE '%char%'; -- détection de la config réelle : SELECT _utf8'é', _latin1'é', ORD(_utf8'é'), ORD(_latin1'é') ;
Je souhaiterai maintenant remplacer ces caractères par les bon.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 é é ORD(_utf8'é') ORD(_latin1'é') é é 50089 195
Alors j'ai essayé avec un script :
...mais ça ne fonctionne pas bien entendu..il ne trouve pas ces caractères .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 //Selectionne uniquement les posts pour modifier chaque ligne. $logold = 'SELECT post_text FROM phpbb3_posts WHERE post_text !=""'; $resold=mysql_query($logold,$link) or die("Impossible de lire les informations"); while ($colo=mysql_fetch_array($resold)) // debut du while dans old base { //Récupère les valeurs des posts. $text = $colo["post_text"]; $text = str_replace ('é©', 'é', $text); echo $text; echo '<br>'; }
Pouvez vous s'il vous plait m'indiquer la marche à suivre ? (Sachant que je ne peux plus revenir en arrière)
J'avoue, je suis assez embêté .
Je vous remercie d'avance pour votre aide .
Partager