Passe dans un format varchar() compatible unicode. A ce moment, les fonctions de traîtement de chaîne prendront les caractères (qu'ils fassent 1 ou 2 octets) pour un seul caractère.
Il n'y a pas de règle précise sinon, et surtout, tu vas de retrouver avec des demi-caractères une fois sur deux.
Avec SQL Server par exemple, les formats unicode sont :
nchar(x)
nvarchar(x)
ntext (jusqu'à 2 Go)
x étant le nombre d'octets (et non de caractères !)
Avec Oracle, je ne sais pas, peut-être suffit-il de changer la locale de la base. Il me semble que c'est varchar2(x) qui se comporte alors comme le nvarchar(x) de SQL Server (du moins d'après la doc de conversion de Oracle vers SQL Server, M$ préconise le nvarchar(x) pour récupérer un varchar2(x) si le champ contient des caractères unicode.
Message édité par Arjuna le 12-08-2004 à 13:58:26