Neden ISO değilde WIN1245 ?

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Neden ISO değilde WIN1245 ?

Mesaj gönderen mkysoft »

Firebird multi platform bir dil iken neden içindeki karekter setleri windows tabanlı? Bana pek mantıklı gelmedi. ISO standırdı neden içinde yok?

Bilindiği gibi 9x sistemler WIN1245 ile çalışırken XP ve sonrası ISO kullanıyor zaten bu nedenlede networkte türkçe karakter problemi oluyor.

Verileri database'den export ettiğimizde WIN1245 olarak export yapıyor sanırım. Teorik olarak bu şekildeki bir dosyası Xp'de açarsak türkçe karakterler düzgün gözükmeyecetir (denemedim).

Teşekkürler.
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

Merhaba,
Bir büfeden
"Bana bir selpak verir misin ?"
dediğiniz zaman adam size bir nova,solo marka kağıt mendil verebiliyor.
halbuki "kağıt mendil ver" demediniz.
Biz de burada gözümüzü açtık. Bize öğreten win 1254 ü göstermişti. "Onun yaptığı doğrudur." deyip öyle yaptık. :lol:

Sizin sorunuzdan sonra baktım. ibdatabase bileşeninin içinde Türkçe standardı olan ISO8859_1 seti vardı.

Bu durumda biz de büfeci olmuşuz. :lol: Hayatımıza ilk giren kağıt mendil olan selpakla başladık selpakla gidiyoruz.
Pardon ben Türkçe yi 8859_1 diye telaffuz ettim halbuki 8859_9 dur. explorera bakınca farkettim. Bi sitelerine bakalım var mı diye.
Kolay gelsin.
http://www.aysbergbilgisayar.com
Logo Go özel eğitim, web tasarım, teknik servis
Akin_Delphi
Üye
Mesajlar: 163
Kayıt: 06 Nis 2006 12:22

Re: Neden ISO değilde WIN1245 ?

Mesaj gönderen Akin_Delphi »

mkysoft yazdı:Verileri database'den export ettiğimizde WIN1245 olarak export yapıyor sanırım. Teorik olarak bu şekildeki bir dosyası Xp'de açarsak türkçe karakterler düzgün gözükmeyecetir (denemedim).

Teşekkürler.
Merhabalar,

Benim kullanmakta olduğum ve WİN1254 karakter setini kullanan bir uygulama Win ME ve XP pro arasında karakter sorunu olmaksızın çalışıyor. Yalnızca VT'den çektiğim veri setinde sıralama sorunum vardı ve onu da burayı aradığımda SQL ifadelerinin sonuna COLLATE PWX_TRK ya da onun gibi bir şey ekleyerek çözebileceğimi öğrendim (ve bu şekilde çözdüm).

Gerçi tam tersini yani Win ME üzerindeki veritabanına XP'den erişmeyi denemedim. Ancak tahminimce bir sorun olmayacaktır. Saygılarımla.
mucit
Üye
Mesajlar: 83
Kayıt: 24 Kas 2004 10:41
Konum: BURSA

Mesaj gönderen mucit »

Merhaba,

CHARACTER SET WIN1254 COLLATE PXW_TURK Win98, WinME, Win2000, WinXP ve 2003 Server'de sorunsuz çalışır.
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

Sorunsuz çalıştığından şüphemiz yok. Ama ismi neden böyle? Neden windows standardı?
Linux'da firebird kuranlara süpriz yapılıyor sanırım. Şöyle diyor firebird:
"Linux kullanıyorsun Microsoft karşıtısın tamam ama benim karakter setlerim microsoft tabanlı"
:)
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Linux'ta da WIN1254 kodlaması tanınır. Bunda acaip bir taraf yok.
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

Merhaba,
Sizin bu mesajınızdan sonra biraz karıştırdım. Aşağıdaki linkte açıklandığı gibi
Türkçe için ISO8859_9 kullanılıyor.
http://www.ibexpert.info/documentation/ ... 19447.html


Ama tanımlama yaptığımızda bu değer karşımıza çıkmıyor. Tanımı yaptığımız yer combobox olduğu için orda olmayan bir ifadeyi de girdiğimizde kabul ediyor.
Default collate olarak aynı ismi yani ISO8859_9 u kullanıyor.
O linke göre iso8859-x türleri US-ASCII den daha geniş aralığa sahip oluyor. yalnız iso lar 0..127 ile 160..255 aralığını kullanıyorlar.
Oradaki bilgiye göre WIN125x lerin iso lara eşit olduğunu iso ya ek olarak 128..159 aralığını da tanıdığı söyleniyor. Yani 0..0255 aralığı tanınıyor.

Aşağıdaki linkte ise

http://firebird.sourceforge.net/index.p ... ets&nosb=1

WIN1254 için WIN1254,PXW_TURK olmak üzere 2 tane collate kullanıldığı yazılıyor.
Şimdiye kadar bilmeden kullandığımız WIN1254 ANSI Turkish, PXW_TURK ise Paradox Turkish için kullanılıyormuş . :lol:

karakter setlerini görmek için RDB$CHARACTER_SETS system tablesine ,
collate leri görmek için RDB$COLLATIONS system table sine bakabilirsiniz.

Şimdi gelelim delphi tarafına. Bu konuda bir kaç deneme yaptım.
Türkçe'ye özgü bir sıralama yapmak için mutlaka collate yi PXW_TURK kullanmak gerekiyor. dolayısıyla da Character set otomatikman WIN1254 olmak
zorunda kalıyor.
ISO8859_9 tanımladığım alanlarda sıralama olmadı. PXW_TURK yapayım dedim. Onu kabul etmiyor. çünkü PXW_TURK collate si WIN1254 e aittir.
Collate WIN1254 verildiğinde de sıralama yapmadı.

Benim burdan çıkardığım sonuç. Alan tasarımı yaparken collate PXW_TURK verilirse, bir select komutunda order by verilirken collate kullanmaya gerek
kalmıyor.

Belki ben iso yu kullanamadım. Kullanan varsa belirtirse memnun olurum.

İyi çalışmalar.
http://www.aysbergbilgisayar.com
Logo Go özel eğitim, web tasarım, teknik servis
Cevapla