Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

ÖNEMLİ AÇIKLAMA: MUTLAKA OKUYUNUZ!

Gönderen Konu: Delphi For Php 2 ve Mysql de Turkçe karakterler..  (Okunma sayısı 2560 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Joker

  • Kıdemli Üye
  • *****
  • İleti: 61
  • Rep: +0/-1
Geçenlerde Codegear ın studiosunu incelerken ilkkez Delphi4Php ile tanışma imkanı buldum.
Php ile genelde yarı amatör yarı profesyonel olarak ilgilendiğim için hemen ilgimi çekti...

Ancak daha bismillah ufak bişiler deneyim derken karşıma programlamanın olmazsa olmazı Türkçe karakter problemi çıktı :)

Version bilgilerim:

Mysql : 5.0.45
Apache: 2.2.6
Php: 5.2.6
Delphi® for PHP Version  2.1.0.1074

Kullandığım software version bilgilerim bunlar.

Yapmak istediğimse gayet basit..

iki adet alanım var biri integer ki burda sorun yok biride text içinde sadece türkçe karakterler var (böle bişi ile karşılaşıcağımı bildiğim için ilk uygulamamı böle yapmak istedim  :::) )

Tasarım anında kullandıklarım ise şöle:

Database1
Table1
Datasource1
DBgrid1

Bağlantılar başarılı sorun yok...F9 yaptığımda ise databasden çektiğim verilerde TR karakterler sorunlu görünüyor.Gerel dbgrid de gerekse herhangi bir label da olsun tablomdan aldığım hiç bir TR karakter düzgü değil...

Tablo ve databse bilgilerim ise şöle:

Database im UTF8
Tablom UTF8
Hatta text alanım bile UTF8

Delphi for Php de ise Database1 in charset özelliği UTF8 ayrıca Tools>Options>PHP deki değerlerimde şu şekilde
Default Charset : UTF-8
Language: turkish
internal encoding: utf-8
Script Encoding: Utf-8
Substitute Character: Utf-8

Diğer değerler Default şekilde duruyor....

Sorun nerde sizce ?

« Son Düzenleme: 27 Nisan 2009 23:24:41 by Joker »

Çevrimdışı Joker

  • Kıdemli Üye
  • *****
  • İleti: 61
  • Rep: +0/-1
Ynt: Delphi For Php 2 ve Mysql de Turkçe karakterler..
« Yanıtla #1 : 28 Nisan 2009 19:24:54 »
bu ya bir Bug yada benim haberim olmadan yeni bi karakter seti çıktı ve tüm standartlar buna göre ayarlandı yok hiç bi şekilde çekemiyorum yahu...

ayrıca Delphi For Php de tonlarca sorun var..F9 a bastığımda kii zaman sayfa açılmıyor onun yerine boş bir sayfa çıkıyor vs..vs..vs.. yada sırf paralı ürüne sevk için trialde böle gıcıklıklar koydular aklıma başka bişi gelmiyor..

Sizinde her türlü önerinize açığım ya fikir belirtirseniz sevinirim sizce neden olmaz bu :s Mysql Sürümümü bile değiştirip son sürüme yükselttim ama nafile..tüm karakter setlerini tek tek denedim yok..Mysql Frontta sorun yok tüm karakterlerim yerli yerinde ama Delphi For Php ile basit bir DBgrid uygulamasında karakterlerin yerinde yeller esiyor..

Çevrimdışı KRALMAS

  • Üye
  • ***
  • İleti: 39
  • Rep: +0/-0
  • Cinsiyet: Bay
    • Kod Kurdu
Ynt: Delphi For Php 2 ve Mysql de Turkçe karakterler..
« Yanıtla #2 : 29 Nisan 2009 09:19:11 »
Kullanmakta olduğunuz 2.1.0.1074 sürümü, geçen senenin eylül ayında çıkmış, oldukça eski ve hatalı bir sürümdür. Codegear'ın sitesinden, en güncel sürümünü indirip, kullanmanızı tavsiye ederim.

Birde Türkçe karakter problemi için, aşağıdaki ayarları yapmayı deneyebilirsiniz.

- Mysql için Utf8_turkish_ci karakter seti kullanın.
- D4P (Delphi for PHP) de, Tools -> Options -> Editor Options altında yer alan, Text Encoding kısmını UTF-8Caracter Encoding kısmını Turkish olarak ayarlayın.
- Yine D4P'de, Tools -> Options -> PHP altında yer alan Default Charset kısmını utf-8 olarak ayarlayın.
- Formunuzun (Unit), Object Inspector -> Properties -> Encoding ayarını, "Unicode (UTF-8)            |utf-8" olarak işaretleyin.
- Yine Formunuzun, Object Inspector -> Properties -> Language ayarını, Turkish olarak belirtin.
- Database1'in properties'inde, Charset kısmınıda utf8 olarak belirtin.
- Son olarak da, Database1'in Event kısmından, OnAfterConnect olayına çift tıklayın, karşınıza gelen ekranda, function Database1AfterConnect($sender, $params) kısmına, aşağıdaki satırları ekleyin. Türkçe karakterler sorunsuz olarak, karşınıza gelecektir.

Kod: PHP
  1. function Database1AfterConnect($sender, $params)
  2. {
  3.         @mysql_query("SET NAMES 'utf8'");
  4.         @mysql_query("SET CHARACTER SET utf8");
  5.         @mysql_query("SET COLLATION_CONNECTION = 'utf8_turkish_ci'");
  6. }



Bu sorun aslında D4P ile değil de, UTF-8'in PHP ile yorumlanması ile ilgili.
« Son Düzenleme: 29 Nisan 2009 09:21:04 by KRALMAS »

Çevrimdışı Joker

  • Kıdemli Üye
  • *****
  • İleti: 61
  • Rep: +0/-1
Ynt: Delphi For Php 2 ve Mysql de Turkçe karakterler..
« Yanıtla #3 : 29 Nisan 2009 19:23:40 »
ilgi,alakanız ve ayrıntılı yardımlarınız için çok teşekkürler dediklerinizi deneyip sonuçları tekrar bildiririm..

İyi çalışmalar...

Çevrimdışı Joker

  • Kıdemli Üye
  • *****
  • İleti: 61
  • Rep: +0/-1
Ynt: Delphi For Php 2 ve Mysql de Turkçe karakterler..
« Yanıtla #4 : 29 Nisan 2009 20:09:33 »
çççÇÇÇ ÜÜÜüüü ���ğğğ IIIııı İİİiii ���şşş ÖÖööö

Malesef sonuç yukarıdaki satırdakilerden ibaret...Birde son versiyonu denemek kaldı...
zaten Codegearın sitesinden trial için serial almayı başarabilsem onuda kurucam amma velakin bana serali vermemekte ısrar ediyor...

D4P nin birde son versiyonunu kurup denemek kaldı sanırım başka çare yok....

Çevrimdışı Joker

  • Kıdemli Üye
  • *****
  • İleti: 61
  • Rep: +0/-1
Ynt: Delphi For Php 2 ve Mysql de Turkçe karakterler..
« Yanıtla #5 : 29 Nisan 2009 20:59:06 »
evet yeni sürümü yükledikten sonra verdiğiniz ayarlar doğrultusunda türkçe karakterleri düzelttim...

Bu onafterconnect olayına yazdığımız kodu kullansak kafi oluyor diğer ayarların hiç birine gerek yok..Benim zaten merak ettiğim nokta D4Php de koda gerek kalmadan bu karakter seti ayarlarının yapılması..Zaten normal php sayfalarda önce bir karakter seti ayar dosyası kullanıyordum dedim burda onu kodlamaya gerek kalmaz ama bu seferde database bağlantılarında bunu yapmak zorunda kalıcaz...Diğer ayarlar sanırım sayfa üzerindeki componentlerin yada sayfa üzerindeki yazıların karakterleri ile ilgili..Yani database deki bağlantıya etki etmiyor..Etki eden tek şey şu yazdığımız kod..

Çevrimdışı KRALMAS

  • Üye
  • ***
  • İleti: 39
  • Rep: +0/-0
  • Cinsiyet: Bay
    • Kod Kurdu
Ynt: Delphi For Php 2 ve Mysql de Turkçe karakterler..
« Yanıtla #6 : 02 Mayıs 2009 11:09:41 »
evet yeni sürümü yükledikten sonra verdiğiniz ayarlar doğrultusunda türkçe karakterleri düzelttim...

Bu onafterconnect olayına yazdığımız kodu kullansak kafi oluyor diğer ayarların hiç birine gerek yok..Benim zaten merak ettiğim nokta D4Php de koda gerek kalmadan bu karakter seti ayarlarının yapılması..Zaten normal php sayfalarda önce bir karakter seti ayar dosyası kullanıyordum dedim burda onu kodlamaya gerek kalmaz ama bu seferde database bağlantılarında bunu yapmak zorunda kalıcaz...Diğer ayarlar sanırım sayfa üzerindeki componentlerin yada sayfa üzerindeki yazıların karakterleri ile ilgili..Yani database deki bağlantıya etki etmiyor..Etki eden tek şey şu yazdığımız kod..

Sadece mysql kodunu yapmanız, mevcut sisteminiz için yeterli olabilir, ancak en azından sayfa kaydını ve görünüm dilini de, UTF8 yapmanızı tavsiye ederim. Bu ayarları yapmazsanız, özellikle sisteminizle aynı dili, kabul etmeyen işletim sistemlerinde ve sayfa dilini kontrol eden browserlarda, sorun yaşama ihtimaliniz olacaktır.