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 ?
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 ?
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 ?
C'est un bête problème de collation :
<<
CREATE TABLE #toto ( champ1 nvarchar(10) COLLATE Latin1_General_CS_AS)
insert #toto values (N'Franþois')
insert #toto values (N'FrÞres')
UPDATE #toto SET champ1 = cast(replace(champ1, 'Þ', 'è') as nvarchar(10))
UPDATE #toto SET champ1 = cast(replace(champ1, 'þ', 'ç') as nvarchar(10))
SELECT * FROM #toto
DROP TABLE #toto
Les caractères Þ et þ sont les mêmes sauf que l'un est en majuscule et
l'autre en minuscule !!! :-(
Cordialement
_______________________________
Philippe TROTIN
Microsoft Services France
_______________________________
"Hervé REIGNOUX" a écrit dans le message de
groupe de discussion : 46e95c36$0$7349$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 ?
C'est un bête problème de collation :
<<
CREATE TABLE #toto ( champ1 nvarchar(10) COLLATE Latin1_General_CS_AS)
insert #toto values (N'Franþois')
insert #toto values (N'FrÞres')
UPDATE #toto SET champ1 = cast(replace(champ1, 'Þ', 'è') as nvarchar(10))
UPDATE #toto SET champ1 = cast(replace(champ1, 'þ', 'ç') as nvarchar(10))
SELECT * FROM #toto
DROP TABLE #toto
Les caractères Þ et þ sont les mêmes sauf que l'un est en majuscule et
l'autre en minuscule !!! :-(
Cordialement
_______________________________
Philippe TROTIN
Microsoft Services France
_______________________________
"Hervé REIGNOUX" <2supprhreignoux@sidexa.comm> a écrit dans le message de
groupe de discussion : 46e95c36$0$7349$426a34cc@news.free.fr...
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 ?
C'est un bête problème de collation :
<<
CREATE TABLE #toto ( champ1 nvarchar(10) COLLATE Latin1_General_CS_AS)
insert #toto values (N'Franþois')
insert #toto values (N'FrÞres')
UPDATE #toto SET champ1 = cast(replace(champ1, 'Þ', 'è') as nvarchar(10))
UPDATE #toto SET champ1 = cast(replace(champ1, 'þ', 'ç') as nvarchar(10))
SELECT * FROM #toto
DROP TABLE #toto
Les caractères Þ et þ sont les mêmes sauf que l'un est en majuscule et
l'autre en minuscule !!! :-(
Cordialement
_______________________________
Philippe TROTIN
Microsoft Services France
_______________________________
"Hervé REIGNOUX" a écrit dans le message de
groupe de discussion : 46e95c36$0$7349$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 ?
C'est un bête problème de collation :
C'est un bête problème de collation :
C'est un bête problème de collation :
Merci pour ta réponse.
La table exemple que je donnais cache bien sûr une toute autre réalité :
le problème se pose sur une table en production de 16 millions de lignes,
la colonne en question est en COLLATE French_CI_AS et n'est pas en
Unicode.
C'est comme ça et ça ne changera pas !
Je ne suis pas très au fait de ces problèmes de collation. Le script
suivant :
------------------------------------------------
create table #toto (champ1 varchar(10) COLLATE French_CI_AS)
insert #toto values ('Franþois')
insert #toto values ('FrÞres')
insert #toto values ('Françoise')
insert #toto values ('þ-ç Þ-è')
select
champ1,
cast(replace(champ1 COLLATE Latin1_General_CS_AS, 'þ', 'ç') as
varchar(10)) as replace1,
cast(replace(champ1 COLLATE Latin1_General_CS_AS, 'Þ', 'è') as
varchar(10)) as replace2,
cast(replace(replace(champ1 COLLATE Latin1_General_CS_AS, 'þ', 'ç'), 'Þ',
'è') as varchar(10)) as replace_tout1,
cast(replace(replace(champ1 COLLATE Latin1_General_CS_AS, 'Þ', 'è'), 'þ',
'ç') as varchar(10)) as replace_tout2
from #toto
select cast('Þ' as binary(1)) as 'Þ', cast('þ' as binary(1)) as 'þ'
drop table #toto
------------------------------------------------
semble déboucher sur ce que je veux (colonne replace_tout1).
Qu'en penses-tu ?
"Philippe TROTIN [MS]" a écrit dans le
message de news:C'est un bête problème de collation :
Merci pour ta réponse.
La table exemple que je donnais cache bien sûr une toute autre réalité :
le problème se pose sur une table en production de 16 millions de lignes,
la colonne en question est en COLLATE French_CI_AS et n'est pas en
Unicode.
C'est comme ça et ça ne changera pas !
Je ne suis pas très au fait de ces problèmes de collation. Le script
suivant :
------------------------------------------------
create table #toto (champ1 varchar(10) COLLATE French_CI_AS)
insert #toto values ('Franþois')
insert #toto values ('FrÞres')
insert #toto values ('Françoise')
insert #toto values ('þ-ç Þ-è')
select
champ1,
cast(replace(champ1 COLLATE Latin1_General_CS_AS, 'þ', 'ç') as
varchar(10)) as replace1,
cast(replace(champ1 COLLATE Latin1_General_CS_AS, 'Þ', 'è') as
varchar(10)) as replace2,
cast(replace(replace(champ1 COLLATE Latin1_General_CS_AS, 'þ', 'ç'), 'Þ',
'è') as varchar(10)) as replace_tout1,
cast(replace(replace(champ1 COLLATE Latin1_General_CS_AS, 'Þ', 'è'), 'þ',
'ç') as varchar(10)) as replace_tout2
from #toto
select cast('Þ' as binary(1)) as 'Þ', cast('þ' as binary(1)) as 'þ'
drop table #toto
------------------------------------------------
semble déboucher sur ce que je veux (colonne replace_tout1).
Qu'en penses-tu ?
"Philippe TROTIN [MS]" <ptrotin@online.microsoft.com> a écrit dans le
message de news: 8705A155-4E93-4962-B5D1-E5E3A5805B09@microsoft.com...
C'est un bête problème de collation :
Merci pour ta réponse.
La table exemple que je donnais cache bien sûr une toute autre réalité :
le problème se pose sur une table en production de 16 millions de lignes,
la colonne en question est en COLLATE French_CI_AS et n'est pas en
Unicode.
C'est comme ça et ça ne changera pas !
Je ne suis pas très au fait de ces problèmes de collation. Le script
suivant :
------------------------------------------------
create table #toto (champ1 varchar(10) COLLATE French_CI_AS)
insert #toto values ('Franþois')
insert #toto values ('FrÞres')
insert #toto values ('Françoise')
insert #toto values ('þ-ç Þ-è')
select
champ1,
cast(replace(champ1 COLLATE Latin1_General_CS_AS, 'þ', 'ç') as
varchar(10)) as replace1,
cast(replace(champ1 COLLATE Latin1_General_CS_AS, 'Þ', 'è') as
varchar(10)) as replace2,
cast(replace(replace(champ1 COLLATE Latin1_General_CS_AS, 'þ', 'ç'), 'Þ',
'è') as varchar(10)) as replace_tout1,
cast(replace(replace(champ1 COLLATE Latin1_General_CS_AS, 'Þ', 'è'), 'þ',
'ç') as varchar(10)) as replace_tout2
from #toto
select cast('Þ' as binary(1)) as 'Þ', cast('þ' as binary(1)) as 'þ'
drop table #toto
------------------------------------------------
semble déboucher sur ce que je veux (colonne replace_tout1).
Qu'en penses-tu ?
"Philippe TROTIN [MS]" a écrit dans le
message de news:C'est un bête problème de collation :
Cela me parait très bien.
Effectivement le but n'est pas de changer la collation au niveau de la
table mais bien de le faire au niveau de la requête.
Sylvain a par contre entièrement raison. Il faut aussi mettre N devant les
constantes (comme indiqué dans le précédent post).
Cordialement
_______________________________
Philippe TROTIN
Microsoft Services France
_______________________________
"Hervé REIGNOUX" a écrit dans le message de
groupe de discussion : 46ea5642$0$13873$Merci pour ta réponse.
La table exemple que je donnais cache bien sûr une toute autre réalité :
le problème se pose sur une table en production de 16 millions de lignes,
la colonne en question est en COLLATE French_CI_AS et n'est pas en
Unicode.
C'est comme ça et ça ne changera pas !
Je ne suis pas très au fait de ces problèmes de collation. Le script
suivant :
------------------------------------------------
create table #toto (champ1 varchar(10) COLLATE French_CI_AS)
insert #toto values ('Franþois')
insert #toto values ('FrÞres')
insert #toto values ('Françoise')
insert #toto values ('þ-ç Þ-è')
select
champ1,
cast(replace(champ1 COLLATE Latin1_General_CS_AS, 'þ', 'ç') as
varchar(10)) as replace1,
cast(replace(champ1 COLLATE Latin1_General_CS_AS, 'Þ', 'è') as
varchar(10)) as replace2,
cast(replace(replace(champ1 COLLATE Latin1_General_CS_AS, 'þ', 'ç'), 'Þ',
'è') as varchar(10)) as replace_tout1,
cast(replace(replace(champ1 COLLATE Latin1_General_CS_AS, 'Þ', 'è'), 'þ',
'ç') as varchar(10)) as replace_tout2
from #toto
select cast('Þ' as binary(1)) as 'Þ', cast('þ' as binary(1)) as 'þ'
drop table #toto
------------------------------------------------
semble déboucher sur ce que je veux (colonne replace_tout1).
Qu'en penses-tu ?
"Philippe TROTIN [MS]" a écrit dans le
message de news:C'est un bête problème de collation :
Cela me parait très bien.
Effectivement le but n'est pas de changer la collation au niveau de la
table mais bien de le faire au niveau de la requête.
Sylvain a par contre entièrement raison. Il faut aussi mettre N devant les
constantes (comme indiqué dans le précédent post).
Cordialement
_______________________________
Philippe TROTIN
Microsoft Services France
_______________________________
"Hervé REIGNOUX" <2supprhreignoux@sidexa.comm> a écrit dans le message de
groupe de discussion : 46ea5642$0$13873$426a34cc@news.free.fr...
Merci pour ta réponse.
La table exemple que je donnais cache bien sûr une toute autre réalité :
le problème se pose sur une table en production de 16 millions de lignes,
la colonne en question est en COLLATE French_CI_AS et n'est pas en
Unicode.
C'est comme ça et ça ne changera pas !
Je ne suis pas très au fait de ces problèmes de collation. Le script
suivant :
------------------------------------------------
create table #toto (champ1 varchar(10) COLLATE French_CI_AS)
insert #toto values ('Franþois')
insert #toto values ('FrÞres')
insert #toto values ('Françoise')
insert #toto values ('þ-ç Þ-è')
select
champ1,
cast(replace(champ1 COLLATE Latin1_General_CS_AS, 'þ', 'ç') as
varchar(10)) as replace1,
cast(replace(champ1 COLLATE Latin1_General_CS_AS, 'Þ', 'è') as
varchar(10)) as replace2,
cast(replace(replace(champ1 COLLATE Latin1_General_CS_AS, 'þ', 'ç'), 'Þ',
'è') as varchar(10)) as replace_tout1,
cast(replace(replace(champ1 COLLATE Latin1_General_CS_AS, 'Þ', 'è'), 'þ',
'ç') as varchar(10)) as replace_tout2
from #toto
select cast('Þ' as binary(1)) as 'Þ', cast('þ' as binary(1)) as 'þ'
drop table #toto
------------------------------------------------
semble déboucher sur ce que je veux (colonne replace_tout1).
Qu'en penses-tu ?
"Philippe TROTIN [MS]" <ptrotin@online.microsoft.com> a écrit dans le
message de news: 8705A155-4E93-4962-B5D1-E5E3A5805B09@microsoft.com...
C'est un bête problème de collation :
Cela me parait très bien.
Effectivement le but n'est pas de changer la collation au niveau de la
table mais bien de le faire au niveau de la requête.
Sylvain a par contre entièrement raison. Il faut aussi mettre N devant les
constantes (comme indiqué dans le précédent post).
Cordialement
_______________________________
Philippe TROTIN
Microsoft Services France
_______________________________
"Hervé REIGNOUX" a écrit dans le message de
groupe de discussion : 46ea5642$0$13873$Merci pour ta réponse.
La table exemple que je donnais cache bien sûr une toute autre réalité :
le problème se pose sur une table en production de 16 millions de lignes,
la colonne en question est en COLLATE French_CI_AS et n'est pas en
Unicode.
C'est comme ça et ça ne changera pas !
Je ne suis pas très au fait de ces problèmes de collation. Le script
suivant :
------------------------------------------------
create table #toto (champ1 varchar(10) COLLATE French_CI_AS)
insert #toto values ('Franþois')
insert #toto values ('FrÞres')
insert #toto values ('Françoise')
insert #toto values ('þ-ç Þ-è')
select
champ1,
cast(replace(champ1 COLLATE Latin1_General_CS_AS, 'þ', 'ç') as
varchar(10)) as replace1,
cast(replace(champ1 COLLATE Latin1_General_CS_AS, 'Þ', 'è') as
varchar(10)) as replace2,
cast(replace(replace(champ1 COLLATE Latin1_General_CS_AS, 'þ', 'ç'), 'Þ',
'è') as varchar(10)) as replace_tout1,
cast(replace(replace(champ1 COLLATE Latin1_General_CS_AS, 'Þ', 'è'), 'þ',
'ç') as varchar(10)) as replace_tout2
from #toto
select cast('Þ' as binary(1)) as 'Þ', cast('þ' as binary(1)) as 'þ'
drop table #toto
------------------------------------------------
semble déboucher sur ce que je veux (colonne replace_tout1).
Qu'en penses-tu ?
"Philippe TROTIN [MS]" a écrit dans le
message de news:C'est un bête problème de collation :
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 ?
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 ?
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 ?
CREATE FUNCTION F_SUBSTITUTE (@IN VARCHAR(8000),
@OLD VARCHAR(256),
@NEW VARCHAR(256))
RETURNS VARCHAR(8000)
AS
BEGIN
IF @IN IS NULL RETURN NULL;
IF @OLD IS NULL OR @OLD = ''
OR @NEW IS NULL OR @NEW = '' RETURN @IN;
DECLARE @I INT, @L INT;
DECLARE @OUT VARCHAR(8000);
DECLARE @C VARCHAR(1);
DECLARE @POS INT;
SET @I = 1;
SET @L = LEN(@IN);
SET @OUT = '';
WHILE @I <= @L
BEGIN
SET @C = SUBSTRING(@IN, @I, 1);
SET @POS = CHARINDEX(@C COLLATE French_CS_AS,
@OLD COLLATE French_CS_AS);
IF @POS > 0
IF LEN(@OUT) < @POS
SET @C = '';
ELSE
SET @C = SUBSTRING(@NEW, @POS, 1);
SET @OUT = @OUT + @C;
SET @I = @I + 1;
END
RETURN @OUT;
END
GO
select champ1, dbo.F_SUBSTITUTE(champ1, 'þÞ', 'çè') AS NEW_CHHAMP1
from #toto
champ1 NEW_CHHAMP1
---------- --------------------
Franþois François
FrÞres Frères
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Hervé REIGNOUX a écrit :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 ?
CREATE FUNCTION F_SUBSTITUTE (@IN VARCHAR(8000),
@OLD VARCHAR(256),
@NEW VARCHAR(256))
RETURNS VARCHAR(8000)
AS
BEGIN
IF @IN IS NULL RETURN NULL;
IF @OLD IS NULL OR @OLD = ''
OR @NEW IS NULL OR @NEW = '' RETURN @IN;
DECLARE @I INT, @L INT;
DECLARE @OUT VARCHAR(8000);
DECLARE @C VARCHAR(1);
DECLARE @POS INT;
SET @I = 1;
SET @L = LEN(@IN);
SET @OUT = '';
WHILE @I <= @L
BEGIN
SET @C = SUBSTRING(@IN, @I, 1);
SET @POS = CHARINDEX(@C COLLATE French_CS_AS,
@OLD COLLATE French_CS_AS);
IF @POS > 0
IF LEN(@OUT) < @POS
SET @C = '';
ELSE
SET @C = SUBSTRING(@NEW, @POS, 1);
SET @OUT = @OUT + @C;
SET @I = @I + 1;
END
RETURN @OUT;
END
GO
select champ1, dbo.F_SUBSTITUTE(champ1, 'þÞ', 'çè') AS NEW_CHHAMP1
from #toto
champ1 NEW_CHHAMP1
---------- --------------------
Franþois François
FrÞres Frères
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Hervé REIGNOUX a écrit :
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 ?
CREATE FUNCTION F_SUBSTITUTE (@IN VARCHAR(8000),
@OLD VARCHAR(256),
@NEW VARCHAR(256))
RETURNS VARCHAR(8000)
AS
BEGIN
IF @IN IS NULL RETURN NULL;
IF @OLD IS NULL OR @OLD = ''
OR @NEW IS NULL OR @NEW = '' RETURN @IN;
DECLARE @I INT, @L INT;
DECLARE @OUT VARCHAR(8000);
DECLARE @C VARCHAR(1);
DECLARE @POS INT;
SET @I = 1;
SET @L = LEN(@IN);
SET @OUT = '';
WHILE @I <= @L
BEGIN
SET @C = SUBSTRING(@IN, @I, 1);
SET @POS = CHARINDEX(@C COLLATE French_CS_AS,
@OLD COLLATE French_CS_AS);
IF @POS > 0
IF LEN(@OUT) < @POS
SET @C = '';
ELSE
SET @C = SUBSTRING(@NEW, @POS, 1);
SET @OUT = @OUT + @C;
SET @I = @I + 1;
END
RETURN @OUT;
END
GO
select champ1, dbo.F_SUBSTITUTE(champ1, 'þÞ', 'çè') AS NEW_CHHAMP1
from #toto
champ1 NEW_CHHAMP1
---------- --------------------
Franþois François
FrÞres Frères
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Hervé REIGNOUX a écrit :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 ?
Bonjour,
Fred, j'ai un peu peur que l'utilisation de cette fonction sur un volume de
données conséquent soit un peu couteux :-(
Cordialement
_______________________________
Philippe TROTIN
Microsoft Services France
_______________________________
"Fred BROUARD" a écrit dans le message de g roupe
de discussion :
> CREATE FUNCTION F_SUBSTITUTE (@IN VARCHAR(8000),
> @OLD VARCHAR(256),
> @NEW VARCHAR(256))
> RETURNS VARCHAR(8000)
> AS
> BEGIN
> IF @IN IS NULL RETURN NULL;
> IF @OLD IS NULL OR @OLD = ''
> OR @NEW IS NULL OR @NEW = '' RETURN @IN;
> DECLARE @I INT, @L INT;
> DECLARE @OUT VARCHAR(8000);
> DECLARE @C VARCHAR(1);
> DECLARE @POS INT;
> SET @I = 1;
> SET @L = LEN(@IN);
> SET @OUT = '';
> WHILE @I <= @L
> BEGIN
> SET @C = SUBSTRING(@IN, @I, 1);
> SET @POS = CHARINDEX(@C COLLATE French_CS_AS,
> @OLD COLLATE French_CS_AS);
> IF @POS > 0
> IF LEN(@OUT) < @POS
> SET @C = '';
> ELSE
> SET @C = SUBSTRING(@NEW, @POS, 1);
> SET @OUT = @OUT + @C;
> SET @I = @I + 1;
> END
> RETURN @OUT;
> END
> GO
> select champ1, dbo.F_SUBSTITUTE(champ1, 'þÞ', 'çè') AS NEW_CHHA MP1
> from #toto
> champ1 NEW_CHHAMP1
> ---------- --------------------
> Franþois François
> FrÞres Frères
> A +
> --
> Frédéric BROUARD, MVP SQL Server, expert bases de données et lang age SQL
> Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
> Audit, conseil, expertise, formation, modélisation, tuning, optimisat ion
> *********************http://www.datasapiens.com***********************
> Hervé REIGNOUX a écrit :
>> Bonjour,
>> Je tombe sur un os : des données venues d'un système tiers ont ent raî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 newsg roup !
>> 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 ?- Masquer le texte des messages précéde nts -
- Afficher le texte des messages précédents -
Bonjour,
Fred, j'ai un peu peur que l'utilisation de cette fonction sur un volume de
données conséquent soit un peu couteux :-(
Cordialement
_______________________________
Philippe TROTIN
Microsoft Services France
_______________________________
"Fred BROUARD" <broua...@club-internet.fr> a écrit dans le message de g roupe
de discussion : eznIeE79HHA....@TK2MSFTNGP04.phx.gbl...
> CREATE FUNCTION F_SUBSTITUTE (@IN VARCHAR(8000),
> @OLD VARCHAR(256),
> @NEW VARCHAR(256))
> RETURNS VARCHAR(8000)
> AS
> BEGIN
> IF @IN IS NULL RETURN NULL;
> IF @OLD IS NULL OR @OLD = ''
> OR @NEW IS NULL OR @NEW = '' RETURN @IN;
> DECLARE @I INT, @L INT;
> DECLARE @OUT VARCHAR(8000);
> DECLARE @C VARCHAR(1);
> DECLARE @POS INT;
> SET @I = 1;
> SET @L = LEN(@IN);
> SET @OUT = '';
> WHILE @I <= @L
> BEGIN
> SET @C = SUBSTRING(@IN, @I, 1);
> SET @POS = CHARINDEX(@C COLLATE French_CS_AS,
> @OLD COLLATE French_CS_AS);
> IF @POS > 0
> IF LEN(@OUT) < @POS
> SET @C = '';
> ELSE
> SET @C = SUBSTRING(@NEW, @POS, 1);
> SET @OUT = @OUT + @C;
> SET @I = @I + 1;
> END
> RETURN @OUT;
> END
> GO
> select champ1, dbo.F_SUBSTITUTE(champ1, 'þÞ', 'çè') AS NEW_CHHA MP1
> from #toto
> champ1 NEW_CHHAMP1
> ---------- --------------------
> Franþois François
> FrÞres Frères
> A +
> --
> Frédéric BROUARD, MVP SQL Server, expert bases de données et lang age SQL
> Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
> Audit, conseil, expertise, formation, modélisation, tuning, optimisat ion
> *********************http://www.datasapiens.com***********************
> Hervé REIGNOUX a écrit :
>> Bonjour,
>> Je tombe sur un os : des données venues d'un système tiers ont ent raî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 newsg roup !
>> 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 ?- Masquer le texte des messages précéde nts -
- Afficher le texte des messages précédents -
Bonjour,
Fred, j'ai un peu peur que l'utilisation de cette fonction sur un volume de
données conséquent soit un peu couteux :-(
Cordialement
_______________________________
Philippe TROTIN
Microsoft Services France
_______________________________
"Fred BROUARD" a écrit dans le message de g roupe
de discussion :
> CREATE FUNCTION F_SUBSTITUTE (@IN VARCHAR(8000),
> @OLD VARCHAR(256),
> @NEW VARCHAR(256))
> RETURNS VARCHAR(8000)
> AS
> BEGIN
> IF @IN IS NULL RETURN NULL;
> IF @OLD IS NULL OR @OLD = ''
> OR @NEW IS NULL OR @NEW = '' RETURN @IN;
> DECLARE @I INT, @L INT;
> DECLARE @OUT VARCHAR(8000);
> DECLARE @C VARCHAR(1);
> DECLARE @POS INT;
> SET @I = 1;
> SET @L = LEN(@IN);
> SET @OUT = '';
> WHILE @I <= @L
> BEGIN
> SET @C = SUBSTRING(@IN, @I, 1);
> SET @POS = CHARINDEX(@C COLLATE French_CS_AS,
> @OLD COLLATE French_CS_AS);
> IF @POS > 0
> IF LEN(@OUT) < @POS
> SET @C = '';
> ELSE
> SET @C = SUBSTRING(@NEW, @POS, 1);
> SET @OUT = @OUT + @C;
> SET @I = @I + 1;
> END
> RETURN @OUT;
> END
> GO
> select champ1, dbo.F_SUBSTITUTE(champ1, 'þÞ', 'çè') AS NEW_CHHA MP1
> from #toto
> champ1 NEW_CHHAMP1
> ---------- --------------------
> Franþois François
> FrÞres Frères
> A +
> --
> Frédéric BROUARD, MVP SQL Server, expert bases de données et lang age SQL
> Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
> Audit, conseil, expertise, formation, modélisation, tuning, optimisat ion
> *********************http://www.datasapiens.com***********************
> Hervé REIGNOUX a écrit :
>> Bonjour,
>> Je tombe sur un os : des données venues d'un système tiers ont ent raî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 newsg roup !
>> 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 ?- Masquer le texte des messages précéde nts -
- Afficher le texte des messages précédents -
Je tombe sur un os : des données venues d'un système tiers ont entraîné une
accentuation fantaisiste.
Je tombe sur un os : des données venues d'un système tiers ont entraîné une
accentuation fantaisiste.
Je tombe sur un os : des données venues d'un système tiers ont entraîné une
accentuation fantaisiste.
> Je m'inscrit à nouveau en profond désaccord avec Sylvain Lafontaine (dont
les propos qu'il répète à nouveau ici me paraissent extrêmement dangereux)
: plutôt que "de tout passer en Unicode" sans comprendre, documentez vous,
apprenez à gérer correctement les codages, et faites alors vos choix en
fonction des besoins.
Hervé REIGNOUX wrote:Je tombe sur un os : des données venues d'un système tiers ont entraîné
une accentuation fantaisiste.
Comment ont été importées les données ? Quel était le codage source, quel
est le codage cible ?
Une fois que vous aurez ces informations il sera très simple de comparer
les 2 jeux de caractères (en espérant qu'il n'y ait eu qu'un seul
transcodage...) et de tout remettre en ordre.
Puisque vous dites que les prb sont rencontrés "sur les lettres
accentuées", il est probable que les 2 codages soient des 8 bits basés sur
us-ascii, et d'après ce que vous indiquez il ne s'agit pas d'un classique
transcodage entre CP-850 et ISO Latin-1 ou Windows-1252 (excellent outil
pour s'en rendre compte : http://www.miakinen.net/vrac/charsets/)
Je m'inscrit à nouveau en profond désaccord avec Sylvain Lafontaine (dont
les propos qu'il répète à nouveau ici me paraissent extrêmement dangereux)
: plutôt que "de tout passer en Unicode" sans comprendre, documentez vous,
apprenez à gérer correctement les codages, et faites alors vos choix en
fonction des besoins.
> Je m'inscrit à nouveau en profond désaccord avec Sylvain Lafontaine (dont
les propos qu'il répète à nouveau ici me paraissent extrêmement dangereux)
: plutôt que "de tout passer en Unicode" sans comprendre, documentez vous,
apprenez à gérer correctement les codages, et faites alors vos choix en
fonction des besoins.
Hervé REIGNOUX wrote:
Je tombe sur un os : des données venues d'un système tiers ont entraîné
une accentuation fantaisiste.
Comment ont été importées les données ? Quel était le codage source, quel
est le codage cible ?
Une fois que vous aurez ces informations il sera très simple de comparer
les 2 jeux de caractères (en espérant qu'il n'y ait eu qu'un seul
transcodage...) et de tout remettre en ordre.
Puisque vous dites que les prb sont rencontrés "sur les lettres
accentuées", il est probable que les 2 codages soient des 8 bits basés sur
us-ascii, et d'après ce que vous indiquez il ne s'agit pas d'un classique
transcodage entre CP-850 et ISO Latin-1 ou Windows-1252 (excellent outil
pour s'en rendre compte : http://www.miakinen.net/vrac/charsets/)
Je m'inscrit à nouveau en profond désaccord avec Sylvain Lafontaine (dont
les propos qu'il répète à nouveau ici me paraissent extrêmement dangereux)
: plutôt que "de tout passer en Unicode" sans comprendre, documentez vous,
apprenez à gérer correctement les codages, et faites alors vos choix en
fonction des besoins.
> Je m'inscrit à nouveau en profond désaccord avec Sylvain Lafontaine (dont
les propos qu'il répète à nouveau ici me paraissent extrêmement dangereux)
: plutôt que "de tout passer en Unicode" sans comprendre, documentez vous,
apprenez à gérer correctement les codages, et faites alors vos choix en
fonction des besoins.
Hervé REIGNOUX wrote:Je tombe sur un os : des données venues d'un système tiers ont entraîné
une accentuation fantaisiste.
Comment ont été importées les données ? Quel était le codage source, quel
est le codage cible ?
Une fois que vous aurez ces informations il sera très simple de comparer
les 2 jeux de caractères (en espérant qu'il n'y ait eu qu'un seul
transcodage...) et de tout remettre en ordre.
Puisque vous dites que les prb sont rencontrés "sur les lettres
accentuées", il est probable que les 2 codages soient des 8 bits basés sur
us-ascii, et d'après ce que vous indiquez il ne s'agit pas d'un classique
transcodage entre CP-850 et ISO Latin-1 ou Windows-1252 (excellent outil
pour s'en rendre compte : http://www.miakinen.net/vrac/charsets/)
Je m'inscrit à nouveau en profond désaccord avec Sylvain Lafontaine (dont
les propos qu'il répète à nouveau ici me paraissent extrêmement dangereux)
: plutôt que "de tout passer en Unicode" sans comprendre, documentez vous,
apprenez à gérer correctement les codages, et faites alors vos choix en
fonction des besoins.