PHP SQL Türkçe Karakter Problemi

0
Onaylı Üye
Üye
Katılım
10 Ağustos 2010
Mesajlar
4
Tepki puanı
0
Arkadaşlar merhaba,

Rasgele sözler şeklinde birşey yazıyorum. Ama sorun şu ki SQL'den çektiğim veride türkçe karakterlerde problem meydana geliyor, soru işareti şeklinde görünüyor. İlk başta tabloya INSERT INTO ile veri girişimde tabloda da türkçe karakterleri göstermiyordu fakat o sorunu "latin_5" yaparak düzelttim. Şimdi ise tablodan çektiğim verinin türkçe karakterleri PHP'den çektiğim zaman ?? şeklinde görünüyor. Yani tabloda türkçe karakterler normal, PHP'de türkçe karakterler bozuk görünüyor. Aşağıda kullandığım kodlar yazıyor:

Kod:
// Tablomu oluşturuyorum
CREATE TABLE IF NOT EXISTS `sozler` (
  `sozcuk` text,
  `sozcu` text
) ENGINE=MyISAM DEFAULT CHARSET=latin5;

// Veriyi giriyorum
INSERT INTO `sozler` (`sozcuk`, `sozcu`) VALUES
('Deneme ğışınüÖ', 'Hasan Özbey');

Tablonun gösterdiği karakterlerde problem yok.

PHP:
// Veriyi çekiyorum
$sozler = $db->query_read("SELECT * FROM " . TABLE_PREFIX . "sozler ORDER BY RAND() LIMIT 1");
while ($rasoz = $db->fetch_array($sozler))
{
$rasgelesoz = ''.$rasoz[sozcuk].'';
$rasgelesozyazari = ''.$rasoz[sozcu].'';
}

Sonuç: Deneme ????nüÖ Hasan Özbey

Not: Sistemi vBulletin üzerine kuruyorum. (Türkçe dil: ISO-8859-9)
 
0
Onaylı Üye
Üye
Katılım
7 Eylül 2004
Mesajlar
445
Tepki puanı
24
Konum
Ankara
PHP:
// Veriyi çekiyorum
@mysql_query("SET NAMES 'latin5'");
$sozler = $db->query_read("SELECT * FROM " . TABLE_PREFIX . "sozler ORDER BY RAND() LIMIT 1");
while ($rasoz = $db->fetch_array($sozler))
{
$rasgelesoz = ''.$rasoz[sozcuk].'';
$rasgelesozyazari = ''.$rasoz[sozcu].'';
}

şeklinde deneyebilirmisin ?
 
Geri
Üst