[Linux-programlama] Re: MySQL'de (rasgele zamanlarda) karakter sorunu

---------

[Linux-programlama] Re: MySQL'de (rasgele zamanlarda) karakter sorunu

From: Tuncay BAŞ <tuncay_at_bir.net.tr>
Date: Tue, 20 May 2008 14:09:19 +0300
Message-ID: <003901c8ba69$f3db3120$39a0aed4@net>

MySQL sürümünüz nedir bilmiyorum ama karakter kodlaması ile ilgili görülüyor. Mevcut MySQL tablonuzu değiştirmeden

veritabanına bağlantı yapıldıktan hemen sonra

mysql_query("SET NAMES 'latin5'");

deneyin.

Yok ben veritabanını sıfırdan açayım derseniz, tabloları ve alanları oluştururken Collection olarak latin5_turkish_ci seçerek oluşturmanız daha hayırlı olur.

  ----- Original Message -----
  From: Nuri Akman
  To: linux-programlama_at_liste.linux.org.tr
  Sent: Tuesday, May 20, 2008 2:00 PM
  Subject: [Linux-programlama] MySQL'de (rasgele zamanlarda) karakter sorunu

  Arkadaşlar,

  MySQL veritabanımda test için kullandığım tabloda şu kayıt var:
  ğĞüÜşŞiİöÖçÇıIğĞüÜşŞiİöÖçÇıIğĞüÜşŞiİöÖçÇıI

  Bu kaydı okuyup ekrana yazdırdığımda ekrana bazen doğru çıktıyı veriyor bazen de şu şekilde çıktı veriyor:
  ??üÜ??i?öÖçÇ?I??üÜ??i?öÖçÇ?I??üÜ??i?öÖçÇ?I

  Aşağıda örnek kodum var. Statik text olarak belirttiğim bölüm ekrana doğru yanzıyor. MySQL'den gelen bölüm sayfayı REFRESH ettiğimde ARA SIRA soru işaretleriyle ( ? ) ekrana geliyor.

  MySQL içindeki veri normal görünüyor. Tüm TR karakterler yerli yerinde.

  Sorunu tespitimden ve çözmeye başlamamdan beri 2 gün oldu, fakat hala bir türlü çözemedim. Fikri olan var mı?

  Kullandığım MySQL Tablo Yapısı:
  CREATE TABLE `test_kategoriler` (
    `kategori_id` int(11) NOT NULL auto_increment,
    `kategori_adi` varchar(100) default NULL,
    `kategori_aciklamasi` text,
    `kategori_siralama` int(11) default '0',
    `kategori_aktif` int(11) default '1',
    `kategori_dili` char(2) default 'tr',
    `kategori_resim_boyutu` int(11) default '1',
    PRIMARY KEY (`kategori_id`)
  ) ENGINE=MyISAM;

  Kullandığım PHP kodu:
  <?php
  $hostname_cnnCicekci = "localhost";
  $database_cnnCicekci = "cicekci";
  $username_cnnCicekci = "root";
  $password_cnnCicekci = "";
  $cnnCicekci = mysql_pconnect($hostname_cnnCicekci, $username_cnnCicekci, $password_cnnCicekci) or trigger_error(mysql_error(),E_USER_ERROR);

  mysql_select_db($database_cnnCicekci, $cnnCicekci);
  $query_rsKategoriler = "SELECT * FROM test";
  $rsKategoriler = mysql_query($query_rsKategoriler, $cnnCicekci) or die(mysql_error());
  $row_rsKategoriler = mysql_fetch_assoc($rsKategoriler);
  ?>
  <html>
  <head>
  <title>Test</title>
  </head>
  <body>
      <h1>Statik Text: </h1>
      <p>ğğĞĞüüÜÜşşŞŞiiİİççÇÇııII</p>
      <p>ğğĞĞüüÜÜşşŞŞiiİİççÇÇııII</p>
      <p>ğğĞĞüüÜÜşşŞŞiiİİççÇÇııII</p>

      <h1>MySQL Text: </h1>
        <?php
            do {
                  echo "<p>" . $row_rsKategoriler['kategori_adi']."</p>";
            } while ($row_rsKategoriler = mysql_fetch_assoc($rsKategoriler));
        ?>

  </body>
  </html>

------------------------------------------------------------------------------

  _______________________________________________
  Linux-programlama mailing list
  Linux-programlama_at_liste.linux.org.tr
  http://liste.linux.org.tr/mailman/listinfo/linux-programlama

_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Tue 20 May 2008 - 13:40:31 EEST

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.