Bonjour

J'ai fais une procédure stockée qui supprime les caractères spéciaux se trouvant dans les champs de ma table de travail. J'utilise l'encodage ASCII, ayant eu des problèmes sur un poste qui interpretait de façon différente les caractères spéciaux.
Je fais donc dans mon programme :
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
  set @ST'+champcible+'= replace (replace (replace ( replace 
      (replace (replace (replace (replace (replace 
      (replace (replace (replace (replace (replace 
      (replace (replace (replace (replace (replace 
      (replace (replace (replace (replace (replace 
      (replace (replace (replace (replace (replace 
      (replace (replace (replace (replace (replace 
      (replace (replace (replace (replace (replace
      (replace (replace (replace (replace (replace 
      (replace (replace (replace (replace (replace
      (replace (replace (replace (replace (replace 
      (replace (replace (replace (replace (replace 
      (replace (replace (replace (replace (replace 
      (replace (replace (replace (replace (replace
      (replace (replace (replace (replace (replace 
      (replace (replace (replace (replace (replace 
      (replace (replace (replace (replace (replace 
      (replace (replace (replace (replace (replace 
      (replace (@ST'+champcible+' COLLATE French_CS_AS, CHAR(33), ' ') , CHAR(34), ' '), CHAR(35), ' '), CHAR(36), ' '),
      CHAR(37), ' ') , CHAR(38), ' ') , CHAR(39), ' '), CHAR(40), ' '), CHAR(41), ' '),
      CHAR(42), ' ') , CHAR(43), ' ') , CHAR(44), ' '), CHAR(45), ' '), CHAR(46), ' '),
      CHAR(58), ' ') , CHAR(59), ' ') , CHAR(60), ' '), CHAR(61), ' '), CHAR(62), ' '),
      CHAR(63), ' ') , CHAR(64), ' ') , CHAR(91), ' '), CHAR(92), ' '), CHAR(93), ' '),
      CHAR(94), ' ') , CHAR(95), ' ') , CHAR(96), ' '), CHAR(123), ' '), CHAR(124), ' '),
      CHAR(125), ' ') , CHAR(126), ' ') , CHAR(127), ' '), CHAR(128), ' '), CHAR(129), ' '),
      CHAR(130), ' ') , CHAR(131), ' ') , CHAR(132), ' '), CHAR(133), ' '), CHAR(134), ' '),
      CHAR(135), ' ') , CHAR(136), ' ') , CHAR(137), ' '), CHAR(139), ' '), CHAR(141), ' '),
      CHAR(143), ' ') , CHAR(144), ' ') , CHAR(145), ' '), CHAR(146), ' '), CHAR(147), ' '),
      CHAR(148), ' ') , CHAR(149), ' ') , CHAR(150), ' '), CHAR(151), ' '), CHAR(152), ' '),
      CHAR(153), ' ') , CHAR(155), ' ') , CHAR(160), ' '), CHAR(163), ' '), CHAR(164), ' '),
      CHAR(166), ' ') , CHAR(167), ' ') , CHAR(168), ' '), CHAR(169), ' '), CHAR(171), ' '),
      CHAR(172), ' ') , CHAR(173), ' ') , CHAR(174), ' '), CHAR(175), ' '), CHAR(176), ' '),
      CHAR(177), ' ') , CHAR(178), ' ') , CHAR(179), ' '), CHAR(180), ' '), CHAR(181), ' '),
      CHAR(182), ' ') , CHAR(183), ' ') , CHAR(184), ' '), CHAR(185), ' '), CHAR(186), ' '),
      CHAR(187), ' ') , CHAR(188), ' ') , CHAR(189), ' '), CHAR(190), ' '), CHAR(191), ' '),
      CHAR(215), ' ') , CHAR(223), ' '), CHAR(222),' '), CHAR(240), ' '), CHAR(247), ' '),  CHAR(254), ' ')
Le problème c'est que SQL Server remplace les TH par un blanc. Par exemple "THASOS" est remplacé par " ASOS". Le problème vient du CHAR(222) qui normalement est Þ mais qui remplace les TH.

Comment résoudre le problème ? Est-ce que ca viendrait du COLLATE French_CS_AS ? Je l'ai rajouté car sinon il "confondait" ² et 2.
J'ai peur que ca fasse ca aussi avec d'autres caractères

Merci