Bonjour, voila j'ai un bug qui est très agaçant.

J'ai une procédure stockée qui permet de remplacé tous les caractères du style è par leurs équivalent en UTF8. (cf plus bas)

Je fais donc une suite de UPDATE.

Je l’exécute grâce à la commande Call nom_fonction();

Sous PhpMyAdmin : Le call marche bien et me remplace bien tous les caractères désirés.

Sous SSH : La procédure se lance mais ne remplace rien du tout, par contre si je met un insert quelconque à la fin de ma proc stockée pour vérifier que ça se lance, alors oui la le INSERT marche mais pas les UPDATE avant.
Par contre , si j'écris juste une requête dans le shell pour remplacer les è par exemple, ça marche.

Et sous PHP , il n'y a rien qui marche. Même quand je fais un update pour remplacer un élément (par contre si je fais un update de test du style update test set CHAMP='test' alors là ça marche). L'appel de cette procédure ne marche pas alors que juste avant j’exécute une dizaine de procédures qui elles répondent bien.

Tous ces traitements sont censé êtes lancé par un CRON, donc autant vous dire que j'ai pas envie de lancer tous les jours la procédure sous PhpMyAdmin.

Voila, j'espère que j'ai été assez clair. Merci

Voici la procédure stockée :
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
DROP PROCEDURE `fonc_iso_to_utf8`//
CREATE DEFINER=`admin`@`localhost` PROCEDURE `fonc_iso_to_utf8`()
BEGIN
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"ç","ç") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"ä§","ç") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"é","é") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"ä©","é") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"è","è") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"ä¨","è") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"ê","ê") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"äª","ê") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"ë","ë") ;
    UPDATE ma_table SET   LIBELLE = REPLACE(LIBELLE,"ä«","ë") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"Ã?","Ê") ;
    UPDATE ma_table SET   LIBELLE = REPLACE(LIBELLE,"ä?","Ê") ;
    UPDATE ma_table SET   LIBELLE = REPLACE(LIBELLE,"Ã?","Ë") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"ä?","Ë") ;
    UPDATE ma_table SET   LIBELLE = REPLACE(LIBELLE,"î","î") ;
    UPDATE ma_table SET   LIBELLE = REPLACE(LIBELLE,"ä®","î") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"ï","ï") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"ä¯","ï") ;
    UPDATE ma_table SET   LIBELLE = REPLACE(LIBELLE,"ì","ì") ;
    UPDATE ma_table SET   LIBELLE = REPLACE(LIBELLE,"Ã?","Î") ;
    UPDATE ma_table SET   LIBELLE = REPLACE(LIBELLE,"ä?","Î") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"ò","ò") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"ä²","ò") ;
    UPDATE ma_table SET   LIBELLE = REPLACE(LIBELLE,"ô","ô") ;
    UPDATE ma_table SET   LIBELLE = REPLACE(LIBELLE,"ä´","ô") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"ö","ö") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"ä¶","ö") ;
    UPDATE ma_table SET      LIBELLE = REPLACE(LIBELLE,"õ","õ") ;
    UPDATE ma_table SET      LIBELLE = REPLACE(LIBELLE,"ó","ó") ;
    UPDATE ma_table SET      LIBELLE = REPLACE(LIBELLE,"ø","ø") ;
    UPDATE ma_table SET      LIBELLE = REPLACE(LIBELLE,"äµ","õ") ;
    UPDATE ma_table SET      LIBELLE = REPLACE(LIBELLE,"ä³","ó") ;
    UPDATE ma_table SET      LIBELLE = REPLACE(LIBELLE,"ä¸","ø") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"Ã?","Ô") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"ä?","Ô") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"Ã?","Ö") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"ä?","Ö") ;
    UPDATE ma_table SET   LIBELLE = REPLACE(LIBELLE,"ä ","à") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"â","â") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"ä¢","â") ;
    UPDATE ma_table SET   LIBELLE = REPLACE(LIBELLE,"ä","ä") ;
    UPDATE ma_table SET    LIBELLE = REPLACE(LIBELLE,"ä¤","ä") ;
    UPDATE ma_table SET   LIBELLE = REPLACE(LIBELLE,"Ã¥","å") ;
    UPDATE ma_table SET    LIBELLE = REPLACE(LIBELLE,"ä¥","å") ;
    UPDATE ma_table SET    LIBELLE = REPLACE(LIBELLE,"Ã?","Â") ;
    UPDATE ma_table SET    LIBELLE = REPLACE(LIBELLE,"ä?","Â") ;
    UPDATE ma_table SET     LIBELLE = REPLACE(LIBELLE,"Ã?","Ä") ;
    UPDATE ma_table SET    LIBELLE = REPLACE(LIBELLE,"ä?","Ä") ;
    UPDATE ma_table SET    LIBELLE = REPLACE(LIBELLE,"ù","u") ;
    UPDATE ma_table SET    LIBELLE = REPLACE(LIBELLE,"û","û") ;
    UPDATE ma_table SET    LIBELLE = REPLACE(LIBELLE,"ü","ü") ;
    UPDATE ma_table SET   LIBELLE = REPLACE(LIBELLE,"ä¼","ü") ;
    UPDATE ma_table SET   LIBELLE = REPLACE(LIBELLE,"Ã?","Û") ;
    UPDATE ma_table SET    LIBELLE = REPLACE(LIBELLE,"Ã?","Ü") ;
    UPDATE ma_table SET    LIBELLE = REPLACE(LIBELLE,"ä¹","u") ;
    UPDATE ma_table SET    LIBELLE = REPLACE(LIBELLE,"ä»","û") ;
    UPDATE ma_table SET    LIBELLE = REPLACE(LIBELLE,"ä¼","ü") ;
    UPDATE ma_table SET    LIBELLE = REPLACE(LIBELLE,"ä¼","ü") ;
    UPDATE ma_table SET   LIBELLE = REPLACE(LIBELLE,"ä?","Û") ;
    UPDATE ma_table SET     LIBELLE = REPLACE(LIBELLE,"ä?","Ü") ;
    UPDATE ma_table SET     LIBELLE = REPLACE(LIBELLE,"ò","ñ") ;
    UPDATE ma_table SET     LIBELLE = REPLACE(LIBELLE,"ñ","ñ") ;
    UPDATE ma_table SET  LIBELLE = REPLACE(LIBELLE,"Ã","à") ;
 
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"ç","ç") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"ä§","ç") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"é","é") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"ä©","é") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"è","è") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"ä¨","è") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"ê","ê") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"äª","ê") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"ë","ë") ;
    UPDATE ma_table SET   DESIGN = REPLACE(DESIGN,"ä«","ë") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"Ã?","Ê") ;
    UPDATE ma_table SET   DESIGN = REPLACE(DESIGN,"ä?","Ê") ;
    UPDATE ma_table SET   DESIGN = REPLACE(DESIGN,"Ã?","Ë") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"ä?","Ë") ;
    UPDATE ma_table SET   DESIGN = REPLACE(DESIGN,"î","î") ;
    UPDATE ma_table SET   DESIGN = REPLACE(DESIGN,"ä®","î") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"ï","ï") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"ä¯","ï") ;
    UPDATE ma_table SET   DESIGN = REPLACE(DESIGN,"ì","ì") ;
    UPDATE ma_table SET   DESIGN = REPLACE(DESIGN,"Ã?","Î") ;
    UPDATE ma_table SET   DESIGN = REPLACE(DESIGN,"ä?","Î") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"ò","ò") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"ä²","ò") ;
    UPDATE ma_table SET   DESIGN = REPLACE(DESIGN,"ô","ô") ;
    UPDATE ma_table SET   DESIGN = REPLACE(DESIGN,"ä´","ô") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"ö","ö") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"ä¶","ö") ;
    UPDATE ma_table SET      DESIGN = REPLACE(DESIGN,"õ","õ") ;
    UPDATE ma_table SET      DESIGN = REPLACE(DESIGN,"ó","ó") ;
    UPDATE ma_table SET      DESIGN = REPLACE(DESIGN,"ø","ø") ;
    UPDATE ma_table SET      DESIGN = REPLACE(DESIGN,"äµ","õ") ;
    UPDATE ma_table SET      DESIGN = REPLACE(DESIGN,"ä³","ó") ;
    UPDATE ma_table SET      DESIGN = REPLACE(DESIGN,"ä¸","ø") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"Ã?","Ô") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"ä?","Ô") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"Ã?","Ö") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"ä?","Ö") ;
    UPDATE ma_table SET   DESIGN = REPLACE(DESIGN,"ä ","à") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"â","â") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"ä¢","â") ;
    UPDATE ma_table SET   DESIGN = REPLACE(DESIGN,"ä","ä") ;
    UPDATE ma_table SET    DESIGN = REPLACE(DESIGN,"ä¤","ä") ;
    UPDATE ma_table SET   DESIGN = REPLACE(DESIGN,"Ã¥","å") ;
    UPDATE ma_table SET    DESIGN = REPLACE(DESIGN,"ä¥","å") ;
    UPDATE ma_table SET    DESIGN = REPLACE(DESIGN,"Ã?","Â") ;
    UPDATE ma_table SET    DESIGN = REPLACE(DESIGN,"ä?","Â") ;
    UPDATE ma_table SET     DESIGN = REPLACE(DESIGN,"Ã?","Ä") ;
    UPDATE ma_table SET    DESIGN = REPLACE(DESIGN,"ä?","Ä") ;
    UPDATE ma_table SET    DESIGN = REPLACE(DESIGN,"ù","u") ;
    UPDATE ma_table SET    DESIGN = REPLACE(DESIGN,"û","û") ;
    UPDATE ma_table SET    DESIGN = REPLACE(DESIGN,"ü","ü") ;
    UPDATE ma_table SET   DESIGN = REPLACE(DESIGN,"ä¼","ü") ;
    UPDATE ma_table SET   DESIGN = REPLACE(DESIGN,"Ã?","Û") ;
    UPDATE ma_table SET    DESIGN = REPLACE(DESIGN,"Ã?","Ü") ;
    UPDATE ma_table SET    DESIGN = REPLACE(DESIGN,"ä¹","u") ;
    UPDATE ma_table SET    DESIGN = REPLACE(DESIGN,"ä»","û") ;
    UPDATE ma_table SET    DESIGN = REPLACE(DESIGN,"ä¼","ü") ;
    UPDATE ma_table SET    DESIGN = REPLACE(DESIGN,"ä¼","ü") ;
    UPDATE ma_table SET   DESIGN = REPLACE(DESIGN,"ä?","Û") ;
    UPDATE ma_table SET     DESIGN = REPLACE(DESIGN,"ä?","Ü") ;
    UPDATE ma_table SET     DESIGN = REPLACE(DESIGN,"ò","ñ") ;
    UPDATE ma_table SET     DESIGN = REPLACE(DESIGN,"ñ","ñ") ;
    UPDATE ma_table SET  DESIGN = REPLACE(DESIGN,"Ã","à") ;
END