Bonjour tout le monde !
Je souhaiterai créer une fonction qui me permette de convertir une chaîne de caractères en Unicode.
Pour cela je sais qu'il existe la fonction UNICODE() mais celle-ci ne convertit que le premier caractère de ma chaîne.
Voici la fonction que je tente de réaliser :
Je me suis inspirée pour cela de la fonction que j'ai trouvé sur le site de MSDN : http://msdn.microsoft.com/fr-fr/library/ms180059.aspx (Dans la partie B)CREATE FUNCTION [dbo].[convertUnicode] (@chaine nvarchar(MAX))
RETURNS varchar(MAX)
AS
BEGIN
DECLARE @RETVAL VARCHAR(MAX)
DECLARE @position INT
SET @position = 1
WHILE @position <= len(@chaine)
BEGIN
SET @RETVAL = @RETVAL+'&#'+CONVERT(nvarchar(70),UNICODE(SUBSTRING(@chaine, @position, 1)))+';'
SET @position = @position + 1
END
RETURN @RETVAL
END
Le problème de cette fonction est qu'elle ne me renvoit rien...
Lorsque j'éxecute ce code :
Rien ne s'affiche...DECLARE @RETVAL VARCHAR(MAX)
DECLARE @position int, @nstring nvarchar(MAX), @chaine NVARCHAR(MAX)
SET @position = 1
SET @nstring = N'موجز ما قبل السوق'
WHILE @position <= len(@nstring) BEGIN
SET @chaine = @chaine + '&#'+CONVERT(nvarchar(MAX),UNICODE(SUBSTRING(@nstring, @position, 1)))+';'
SET @position = @position + 1
END
print @chaine
Par contre quand j'éxecute ce code :
ça m'affiche ça :DECLARE @RETVAL VARCHAR(MAX)
DECLARE @position int, @nstring nvarchar(MAX), @chaine NVARCHAR(MAX)
SET @position = 1
SET @nstring = N'موجز ما قبل السوق'
WHILE @position <= len(@nstring) BEGIN
SET @chaine = '&#'+CONVERT(nvarchar(MAX),UNICODE(SUBSTRING(@nstring, @position, 1)))+';'
SET @position = @position + 1
print @chaine
END
En espérant trouver une solution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 م و ج ز م ا ق ب ل
Cordialement
Partager