Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Replace et exactitude

22 réponses
Avatar
Hervé REIGNOUX
Bonjour,
Je tombe sur un os : des données venues d'un système tiers ont entraîné une
accentuation fantaisiste.
Ce problème est résolu mais je voudrais faire du ménage dans ce qui a été
intégré.
Voici un exemple de ce que je veux faire sans y parvenir :
------------------------------------------------
set NoCount ON
create table #toto (champ1 varchar(10))
insert #toto values ('Franþois')
insert #toto values ('FrÞres')

select
champ1,
cast(replace(champ1, 'þ', 'ç') as varchar(10)) as test1,
cast(replace(champ1, 'Þ', 'è') as varchar(10)) as test2,
cast(replace(cast(champ1 as varbinary(10)), cast('þ' as binary(1)),
cast('ç' as binary(1))) as varchar(10)) as test3,
cast(replace(cast(champ1 as varbinary(10)), cast('Þ' as binary(1)),
cast('è' as binary(1))) as varchar(10)) as test4
from #toto
select cast('Þ' as binary(1)) as 'Þ', cast('þ' as binary(1)) as 'þ'

drop table #toto
------------------------------------------------
On obtient :
------------------------------------------------
champ1 test1 test2 test3 test4
---------- ---------- ---------- ---------- ----------
Franþois François Franèois François Franèois
FrÞres Frçres Frères Frçres Frères

Þ þ
---- ----
0xDE 0xFE
------------------------------------------------
J'espère que les caractères bizarres vont bien passer sur le newsgroup !
Si tel est le cas, vous aurez compris que je veux modifier "Franþois" en
"François", et pas autre chose.
Quelqu'un peut-il m'aider ?

2 réponses

1 2 3
Avatar
Pierre Goiffon
SQLpro wrote:
Vu que j'ai laché SQL Server il y a quelques temps maintenant, je me
demandais si l'on avait plusieurs collation Unicode, UTF-8 et UTF-16,
comme on a sur MySQL
(http://dev.mysql.com/doc/refman/5.1/en/charset-unicode-sets.html). En
cherchant sur le technet (en particulierhttp://technet.microsoft.com/en-us/library/ms184391.aspx) je n'ai pas
vraiment trouvé :( Quelqu'un pourrait me renseigner ?





J'ai écrit un article là dessus. En version 2005 il y en a un peu plus
de 1000.

http://sqlpro.developpez.com/cours/sqlserver/collations/

Pour les lister :
SELECT * FROM ::fn_helpcollations()



Pas de SQL Server sous la main malheureusement, et je ne trouve pas
réponse à ma question dans votre article ? (excellent par ailleurs,
comme bcp d'autres articles sur votre source, l'occasion de vous le dire
:) )
Avatar
SQLpro
En fait le jeu de caractères est une problématique système et la
collation un objet logique de la BD. L'un n'est pas forcément relatif
à l'autre, même si des limitations existent en terme de corrélation
entre le jeu de caractères et la collation. Autrement dit cela devrait
être indépendant.

De mémoire Windows travaille sur de l'UTF16 (mais à confirmer).

A +

On 27 sep, 16:58, Pierre Goiffon wrote:
SQLpro wrote:
>> Vu que j'ai laché SQL Server il y a quelques temps maintenant, je me
>> demandais si l'on avait plusieurs collation Unicode, UTF-8 et UTF-16,
>> comme on a sur MySQL
>> (http://dev.mysql.com/doc/refman/5.1/en/charset-unicode-sets.html). En
>> cherchant sur le technet (en particulierhttp://technet.microsoft.com/e n-us/library/ms184391.aspx) je n'ai pas
>> vraiment trouvé :( Quelqu'un pourrait me renseigner ?
> J'ai écrit un article là dessus. En version 2005 il y en a un peu p lus
> de 1000.

>http://sqlpro.developpez.com/cours/sqlserver/collations/

> Pour les lister :
> SELECT * FROM ::fn_helpcollations()

Pas de SQL Server sous la main malheureusement, et je ne trouve pas
réponse à ma question dans votre article ? (excellent par ailleurs,
comme bcp d'autres articles sur votre source, l'occasion de vous le dire
:) )


1 2 3