Delphi Can
IOS unidac Türkçe karakter sorunu - Baskı Önizleme

+- Delphi Can (http://www.delphican.com)
+-- Forum: Delphi (http://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Mobil Platform - FireMonkey (FMX) (http://www.delphican.com/forumdisplay.php?fid=7)
+--- Konu Başlığı: IOS unidac Türkçe karakter sorunu (/showthread.php?tid=415)

Sayfalar: 1 2


IOS unidac Türkçe karakter sorunu - hassur - 25-11-2016

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


Cvp: IOS unidac Türkçe karakter sorunu - Fesih ARSLAN - 25-11-2016

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;



Cvp: IOS unidac Türkçe karakter sorunu - hassur - 25-11-2016

(25-11-2016, Saat: 16:02)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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
[attachment=47]


Cvp: IOS unidac Türkçe karakter sorunu - Fesih ARSLAN - 25-11-2016

(25-11-2016, Saat: 17:32)hassur Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(25-11-2016, Saat: 16:02)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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;



Cvp: IOS unidac Türkçe karakter sorunu - hassur - 26-11-2016

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.


Cvp: IOS unidac Türkçe karakter sorunu - Fesih ARSLAN - 26-11-2016

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.


IOS unidac Türkçe karakter sorunu - hassur - 26-11-2016

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.


Cvp: IOS unidac Türkçe karakter sorunu - Fesih ARSLAN - 26-11-2016

(26-11-2016, Saat: 11:30)hassur Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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.


IOS unidac Türkçe karakter sorunu - hassur - 26-11-2016

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.


IOS unidac Türkçe karakter sorunu - narkotik - 30-01-2019

Buraya notumu düşeyim SQLServer için aynı sorunu yaşadım.
UniConnection için
SpecificOptions.Add('AutoTranslate=False');
ile düzelti.