Tüm Versiyonu Göster : Sql Dış Veri TUrkce Karakter Sorunu
Excelde Dış veri olarak Sql serverdan veri çekiyorum.
(Çektiğim veri kaynagı yonetimsel araclar veri kaynaklarında tanımlı)
Ancak Ç Ö Ü karakterlerinde problem olmamasına ragmen i ve ğ gibi karakterlerde problem var. Nasıl duzeltebilirim.
Teşekkurler...
vkoruyucu
06-06-2007, 21:50
Bi ara bende uğraşıordum ama olmadı onu ancak bi fonksion ile çözersin. Sql de bu fonksiyonu create et sonra çekeceğin sorguda kullan o zaman türkçe karakter sorunu olmaz.
CREATE FUNCTION TRKNEW(@A NVARCHAR(4000))
RETURNS NVARCHAR(4000)
AS
BEGIN
DECLARE @TMP NVARCHAR(4000)
SET @TMP = REPLACE(@A COLLATE LATIN1_GENERAL_BIN, CHAR(208), N'Ğ')
SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(220), N'Ü')
SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(222), N'Ş')
SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(221), N'İ')
SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(214), N'Ö')
SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(199), N'Ç')
SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(73), N'I')
SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(240), N'ğ')
SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(252), N'ü')
SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(254), N'ş')
SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(105), N'i')
SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(246), N'ö')
SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(231), N'ç')
SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(253), N'ı')
RETURN @TMP
END
Merhaba..Aynı problemi ben de yaşıyorum.Bende Azerice harflar SQL-den gelmiyor.Bu konu hakkında deayli bilgi verirseniz sevinirim.
Kolay gelsin
Excelde Dış veri olarak Sql serverdan veri çekiyorum.
(Çektiğim veri kaynagı yonetimsel araclar veri kaynaklarında tanımlı)
Ancak Ç Ö Ü karakterlerinde problem olmamasına ragmen i ve ğ gibi karakterlerde problem var. Nasıl duzeltebilirim.
Teşekkurler...
Abi men cevabı buldum...Yazayim..Arkadaşlara gerekli olur.
Range("A1:A10000").Replace What:="X", Replacement:"Y"
Unicode olaraq
ChrW$(220)-Ü
ChrW$(222)-Ş
ChrW$(208)-Ğ
ChrW$(199)-Ç
ChrW$(221)-İ
ChrW$(214)-Ö
ChrW$(252) -ü
ChrW$(254)-ş
ChrW$(240)-ğ
ChrW$(231)-ç
ChrW$(253)-ı
ChrW$(246)-ö
Yani AGRI yazmak istiyorsan böyle yazacaqsın
Range("A1:A10000").Replace What:="G", Replacement:ChrW$(208)
Aralığı kendin berirle..
Kolay gelsin
mertdalagan
28-07-2007, 13:47
bunu tam olarak nereye yazacağız. vba ya mı yoksa fonksiyon satırına mı?
Tabi ki, Vba ya..Yapılam makronun içine Kolay gelsin
vBulletin v3.7.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.