problema diacritice nvarchar -> varchar
Last Updated: Aug 31 2014 12:26, Started by
Kroghy
, Jul 21 2014 19:14
·
0
#1
Posted 21 July 2014 - 19:14
salutare la toata lumea
am o tabela in sql cu camp nvarchar unde sunt puse º si þ de tip Ro(standard) datele de acolo trebuie sa le duc intr-o tabela varchar cu º si þ de tip Ro(legacy) nu reusesc sa le transform, am incercat in toate felurie in care m-am gandit eu collate nu merge din prima, toate º si þ ajung ? am incercat cu replace(campNvarchar,nchar(537),'º') unde nchar(537) este º scris cu standard iar ultimul parametru este scris cu legacy am incercat cu convert(varchar(255,replace(...)) si nu vrea am incercat sa fac o functie de conversie si nici asta nu merge daca incerc urmatoarea functie alter function conversieRo(@sirNvarchar nvarchar(255)) returns varchar(255) as begin declare @sirVarchar varchar(255); set @sirvarchar='ºþ'; return(@sirvarchar) end go daca incerc sa scriu set @sirvarchar='ºþ'; cu ș si ț de tip legacy atunci returneaza st, daca le scriu cu standard atunci returneaza ?? ceva idei ce sa mai incerc? |
#2
Posted 21 July 2014 - 19:22
Nu asa se face transformarea !
Cauta in documentatie despre "Collations and Code Pages". Edited by neagu_laurentiu, 21 July 2014 - 19:23. |
#3
Posted 21 July 2014 - 19:30
te referi la metoda de mai jos?
select 'șț' collate SQL_Latin1_General_CP1_CS_AS sau select 'șț' collate SQL_Romanian_CP1250_CS_ASasta a fost prima incercare dar nu merge daca șț le scriu cu romanian(standard) atunci rezultatul e "??" daca șț le scriu cu romanian(legacy) atunci rezultatul e "st" Edited by Kroghy, 21 July 2014 - 19:35. |
#4
Posted 22 July 2014 - 06:54
select cast(N'ŞşĂăÎîŢţÂâ' collate SQL_Romanian_CP1250_CS_AS as varchar(20)) select cast(camp_nvarchar collate SQL_Romanian_CP1250_CS_AS as varchar(max)) from table 'string' /* string ANSI */ N'string' /* string Unicode */ Edited by neagu_laurentiu, 22 July 2014 - 07:17. |
#5
Posted 22 July 2014 - 11:10
am incercat cu cast de mai sus si tot nu merge, ajung nume de genul ?ERBAN, ZOI?A, DULU?A
poate o fi un bug am renuntat pana la urma, am cautat toate numele si le-am inlocuit manual |
#6
Posted 22 July 2014 - 11:35
Daca in campurile Unicode n(var)char sunt ok textele atunci transformarea la (var)char pe un octet nu pune probleme, mai trebuie sa setezi si baza pe COLLATE-ul in cauza.
Edited by neagu_laurentiu, 22 July 2014 - 11:36. |
#7
Posted 31 August 2014 - 12:26
varchar nu recunoaste caractere unicode, trebuie sa modifici cu nvarchar
|
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users