Konuyu Oyla:
  • Derecelendirme: 4/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
IOS unidac Türkçe karakter sorunu
#1
Arkadaşlar merhaba unidac ile mssql den veri çekerken android de normal ama ios da türkçe karakter sorunu var. Varmıdır bu kompenenti kullanan
Cevapla
#2
Merhaba,
Türkçe karakter sorunu yaşadığınız tablo alanlarının karakter seti ile Connection nesnesinin karakter seti aynı olmalıdır. 
Tablo yapısının alan tiplerinde bir sorun yoksa; UniConnection nesnesini açmadan önce (Connect metodundan önce) veya OnBeforeConnect olayına 
aşağıdaki kodu yazarak, sorunu düzeltebilirsiniz.
 
procedure TForm1.UniConnection1BeforeConnect(Sender: TObject);
begin
  UniConnection1.SpecificOptions.Values['CharSet'] := 'UTF8'; // veya 'latin5'
end;
Cevapla
#3
(25-11-2016, Saat: 16:02)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Merhaba,
Türkçe karakter sorunu yaşadığınız tablo alanlarının karakter seti ile Connection nesnesinin karakter seti aynı olmalıdır. 
Tablo yapısının alan tiplerinde bir sorun yoksa; UniConnection nesnesini açmadan önce (Connect metodundan önce) veya OnBeforeConnect olayına 
aşağıdaki kodu yazarak, sorunu düzeltebilirsiniz.
 
procedure TForm1.UniConnection1BeforeConnect(Sender: TObject);
begin
  UniConnection1.SpecificOptions.Values['CharSet'] := 'UTF8'; // veya 'latin5'
end;

mysql de bu yöntem işe yarıyor ama MSSQL de aşağıdaki hatayı alıyorum
   
Cevapla
#4
(25-11-2016, Saat: 17:32)hassur Adlı Kullanıcıdan Alıntı:
(25-11-2016, Saat: 16:02)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Merhaba,
Türkçe karakter sorunu yaşadığınız tablo alanlarının karakter seti ile Connection nesnesinin karakter seti aynı olmalıdır. 
Tablo yapısının alan tiplerinde bir sorun yoksa; UniConnection nesnesini açmadan önce (Connect metodundan önce) veya OnBeforeConnect olayına 
aşağıdaki kodu yazarak, sorunu düzeltebilirsiniz.
 
procedure TForm1.UniConnection1BeforeConnect(Sender: TObject);
begin
  UniConnection1.SpecificOptions.Values['CharSet'] := 'UTF8'; // veya 'latin5'
end;

mysql de bu yöntem işe yarıyor ama MSSQL de aşağıdaki hatayı alıyorum

CharSet tanımının ön kısmına aşağıdaki gibi SQL server takısını getirerek tekrar deneyin.

procedure TForm1.UniConnection1BeforeConnect(Sender: TObject);
begin
  UniConnection1.SpecificOptions.Values['SQL server.CharSet'] := 'UTF8'; //veya win1254
end;

Yukarıdaki kod yapısı olmaz ise, karakter setini UniCode (WideString) olarak set edip, deneyin.

procedure TForm1.UniConnection1BeforeConnect(Sender: TObject);
begin
 UniConnection1.SpecificOptions.Values['UseUnicode'] := 'True';
end;
Cevapla
#5
UniConnection1.SpecificOptions.Values['SQL server.CharSet'] := 'UTF8'; //veya win1254

bunu denediğimde sonuç değişmedi aynı hatayı alıyorum



Yukarıdaki kod yapısı olmaz ise, karakter setini UniCode (WideString) olarak set edip, deneyin.

procedure TForm1.UniConnection1BeforeConnect(Sender: TObject);
begin
 UniConnection1.SpecificOptions.Values['UseUnicode'] := 'True';
end;



bunu denediğimde uygulama hiç açılmadan kapanıyor.
Cevapla
#6
Veri tabanı tablo alanlarında; Metinsel tipte olan alanların tipinin nvarchar olup olmadığını kontrol edin.
DB'nizin SQL script yapısını paylaşma imkanınız varsa, konuya daha hızlı çözüm bulabiliriz.
Cevapla
#7
Tablo nvarchar(201) olduğuna eminim. Anlamadığım win32 ve android de normal çalışırken ios da türkçe karakterlerde sorun oluyor. Bir enteresan durum ise dizayn anında normal çalışması ama debug edip simulator de türkçe karaker sorunu olması enteresan. Simulatorde sql dışında diğer nesnelerde herhangi bir sorun yok yani listview de türkçe karakter kullanıyorum.
Cevapla
#8
(26-11-2016, Saat: 11:30)hassur Adlı Kullanıcıdan Alıntı: Tablo nvarchar(201) olduğuna eminim. Anlamadığım win32 ve android de normal çalışırken ios da türkçe karakterlerde sorun oluyor. Bir enteresan durum ise dizayn anında normal çalışması ama debug edip simulator de türkçe karaker sorunu olması enteresan. Simulatorde sql dışında diğer nesnelerde herhangi bir sorun yok yani listview de türkçe karakter kullanıyorum.

Mac OS X dili Türkçe mi? Değilse işletim sisteminizin diline Türkçe ekleyin ve geçerli dili Türkçe yapın.
Cevapla
#9
MAC OS Türkçe. Alan eğer ntext ise sorun olmuyor ancak bu alan tipini değiştirmem mümkün değil ticari bir paket programdan veri alıyorum. Kendi çözümümü ürettim ancak bu kesin çözüm değil ve ciddi bir performans sorunu yaşatıyor. Bir fonksiyon yaptım gelen değer içerinde bozuk karakter varsa bunlar fonksiyon sayesinde türkçeye çeviriyorum. Tekrar sölüyorum bunu geçici bir çözüm olarak ürettim. Hala bu konuya çözüm arıyor olacağım.
Cevapla
#10
Buraya notumu düşeyim SQLServer için aynı sorunu yaşadım.
UniConnection için
SpecificOptions.Add('AutoTranslate=False');
ile düzelti.
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Türkçe Text To Speech yasaroguz332 2 422 15-12-2023, Saat: 16:30
Son Yorum: yasaroguz332
  Mapview üzerinde splash ekran logo sorunu arsl01 4 917 05-12-2023, Saat: 23:00
Son Yorum: arsl01
  IOS SDK Ekleme Esnasında Yavaş Aktarım Sorunu Çözümü Mr.X 0 264 23-11-2023, Saat: 21:18
Son Yorum: Mr.X
  IOS 17 Crash Sorunu Çözümü emrahozten 5 925 14-11-2023, Saat: 19:53
Son Yorum: mcuyan
  Apple Enterprise Hesap Sorunu emrahozten 0 267 13-11-2023, Saat: 10:51
Son Yorum: emrahozten



Konuyu Okuyanlar: 1 Ziyaretçi