PHP Türkçe Karakter sorunu.

Kodla Büyü

a-anil06

Seçkin Üye
Seçkin Üye
Mesajlar
354
Arkadaşlar aşağıda kodlarını yazacağım sayfa için listeleme yaptığım zaman türkçe karakter hatası veriyor.Diğer sayfalarda sorun yok.Veritabanında da sorun yok.Sizce hata neden kaynaklanıyor olabilir...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="UTF-8">
<title>Bilisimsel</title>
</head>
<body>
<?php
$host = "localhost";
$kadi = "root";
$sfr = "";
$db = "anil";
$conn = mysql_connect($host, $kadi, $sfr);
if(!$conn){
die("Baglanti Hatasi:".mysql_error());
}

$db_select = mysql_select_db($db, $conn);
if(!$db_select){
die("Veritabani Hatasi:".mysql_error());
}
$sorgu = mysql_query("SELECT * FROM konular");
while($bilgi = mysql_fetch_array($sorgu)) {
$konuid = $bilgi['konuID'];
echo "<table border='0px'>";
echo "<td><a href='icerik.php?kategori=$konuid&s=1'>".$bilgi['konuAD']."</a></td>";
echo "<br/>";
echo "</table>";
}
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
mysql_query("SET COLLATION_CONNECTION = 'utf8_turkish_ci'");
?>
</body>
</html>


Veritabanıda utf8_turkish_ci...
 
Hocam senin kodları sadece sadeleştirdim düzeldi :)

sende veritabanı ve tablo adını değiştir yeter . sorun olursa yine bakalım ama bende senin kodlarla türkçe karekter sorunu verdi ama bu şekilde bir sorun vermedi....... :)

<?php
$host = "localhost";
$kadi = "root";
$sfr = "";
$db = "okul";
$conn = mysql_connect($host, $kadi, $sfr);
if(!$conn){
die("Baglanti Hatasi:".mysql_error());
}

$db_select = mysql_select_db($db, $conn);
if(!$db_select){
die("Veritabani Hatasi:".mysql_error());
}
$sorgu = mysql_query("SELECT * FROM sinif");
while($bilgi = mysql_fetch_array($sorgu)) {
$konuid = $bilgi['kullanici'];
echo "<table border='0px'>";
echo "<td><a href='icerik.php?kategori=$konuid&s=1'>".$konuid."</a></td>";
echo "<br/>";
echo "</table>";
}

?>
 
idemir' Alıntı:
Hocam senin kodları sadece sadeleştirdim düzeldi :)

sende veritabanı ve tablo adını değiştir yeter . sorun olursa yine bakalım ama bende senin kodlarla türkçe karekter sorunu verdi ama bu şekilde bir sorun vermedi....... :)

<?php
$host = "localhost";
$kadi = "root";
$sfr = "";
$db = "okul";
$conn = mysql_connect($host, $kadi, $sfr);
if(!$conn){
die("Baglanti Hatasi:".mysql_error());
}

$db_select = mysql_select_db($db, $conn);
if(!$db_select){
die("Veritabani Hatasi:".mysql_error());
}
$sorgu = mysql_query("SELECT * FROM sinif");
while($bilgi = mysql_fetch_array($sorgu)) {
$konuid = $bilgi['kullanici'];
echo "<table border='0px'>";
echo "<td><a href='icerik.php?kategori=$konuid&s=1'>".$konuid."</a></td>";
echo "<br/>";
echo "</table>";
}

?>

Hocam sen sadece body-html kısımlarını kaldırmışsın.Benim yaptığım şekilde diğer sayfalarda sorun yok.Aynı şekilde yapmışım.Veritabanında yazılım yazdıysam yazılım olarak gösteriyor.Sayfada yaz?l?m olarak görünüyor :) Sonuç olarak farkeden birşey olmadı :(
 
Hocam not defterini mi kullanıyorsun notepad++ mı ben notepad++ da bu tip hatalar oluyor. notepad++ kullanıyorsan yukarıdaki kodlama menüsünden UTF-8 ile kodlayı seçmen gerekir.bende sorunsuz çalıştı eğer tarayyıcı ayarlarında sorun yoksa bir problem olmasa gerek.
 
Scripti yazmış olduğunuz dosya UTF-8 (bom'suz) formatta olmalı , veritabanı karakter setiniz UTF-8 formatında olmalı ve HTML taglarında sayfanın karakter setinin UTF-8 olduğunu belirtmeniz lazım. bunların üçü aynı olduğunda hiçbir problem yaşamazsınız
 
idemir' Alıntı:
Hocam not defterini mi kullanıyorsun notepad++ mı ben notepad++ da bu tip hatalar oluyor. notepad++ kullanıyorsan yukarıdaki kodlama menüsünden UTF-8 ile kodlayı seçmen gerekir.bende sorunsuz çalıştı eğer tarayyıcı ayarlarında sorun yoksa bir problem olmasa gerek.
Dw kullanıyorum. Bakalım bir çözümünü bulacaz inş :))
 
pehepe' Alıntı:
Scripti yazmış olduğunuz dosya UTF-8 (bom'suz) formatta olmalı , veritabanı karakter setiniz UTF-8 formatında olmalı ve HTML taglarında sayfanın karakter setinin UTF-8 olduğunu belirtmeniz lazım. bunların üçü aynı olduğunda hiçbir problem yaşamazsınız
Hocam Sizin dediğinizi deneyeyim.
 
pehepe' Alıntı:
Scripti yazmış olduğunuz dosya UTF-8 (bom'suz) formatta olmalı , veritabanı karakter setiniz UTF-8 formatında olmalı ve HTML taglarında sayfanın karakter setinin UTF-8 olduğunu belirtmeniz lazım. bunların üçü aynı olduğunda hiçbir problem yaşamazsınız

Hocam malesef yine olmadı.notepad++ da utf bom suz yaptım ama yine sonuç alamadım.veritabamı utf8.html arasında belirttim.
 
Bütün kodlamaları, veritabanını kontrol ettim ayrı ayrı.Ama diğer doğru olan sayfalardan bir farkı yok.O sayfalarda türkçe karakter problemi yok ama bu sayfada var.CSS sayfasında da charset utf8 olarak belirtilmiş durumda!!!
 
1- dosya kodlamaları utf8 bom'suz olmalı,
2- utf8 charseti meta etiketinde belirtilmiş olmalı,
3- veritabanı da utf8-general-ci olmalı turkish değil

bunları tekrar kontrol edip denerseniz düzelmesi gerekir. kolay gelsin
 
Parhelion' Alıntı:
1- dosya kodlamaları utf8 bom'suz olmalı,
2- utf8 charseti meta etiketinde belirtilmiş olmalı,
3- veritabanı da utf8-general-ci olmalı turkish değil

bunları tekrar kontrol edip denerseniz düzelmesi gerekir. kolay gelsin
Veritabanı içerisindeki bütün tablo ve sütunlarda mı utf8 general olacak.yoksa sadece veritabanı mı?
 
Parhelion' Alıntı:
1- dosya kodlamaları utf8 bom'suz olmalı,
2- utf8 charseti meta etiketinde belirtilmiş olmalı,
3- veritabanı da utf8-general-ci olmalı turkish değil

bunları tekrar kontrol edip denerseniz düzelmesi gerekir. kolay gelsin


Sadece veritabanını yaptım fakat bir sonuç alamadım yine :(.... Hatta bütün tablolarda dahil..her iki şekilde olmadı.galiba basit birşeyi gözden kaçırıyorum...
 
Arkadaşlar burada belirtilenler dışında başka düşüncesi olan var mı.Nette de farklı birşey bulamadım.
 
Hocam tam olarak ne yaptığınızı ayrıntılı birşekilde yazarmısınız? verileri veritabanına manuel olarak mı giriyorsunuz yoksa script sayesindemi? karakterleri başka biryerden kopyala yapıştımı yapıyorsunuz?
 
Verileri kendim giriyorum.Kopyala yapıştır değil.Yazılım diye giriyorum.Veritabanında yazılım yazıyor.Ama listelediğim zaman yaz?l?m olarak çıkıyor.Bu sorunu çözemedim.Başka sayfalarda bu hata olmuyor.Her şeyiyle aynı mantık var.
 
Arkadaşlar bu konuda bir çözüm bulamadım.Başka bir fikri olan varsa,yardımcı olursa sevinirim :)
 
İşin aslı şu.Siteyi dw de şablon kullanarak hazırlıyorum.Gerektiği zaman notepad++ kullanıyorum.Şablon sayfamın soldaki menuer divinde veritabanına eklediğim kategoriler listeleniyor.Orta div de içerik kısmı.Sağ taraftaki div de yorum listeleme kısmı.Hiçbir yerde türkçe karakter sorunu yokken sadece sol taraftaki kategorilerin listelendiği yerde türkçe karakter sorunu var.Bu sorunu bir türlü çözemedim.Hiçbir çözüm çare olmadı.Bu konuda başka hangi yolu deneyebilirim.
 
$baglanti=mysql_connect("localhost",$user,$psw) or die (mysql_error());
mysql_select_db($db,$baglanti) or die (mysql_error());
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET COLLATION_CONNECTION = 'utf8_general_ci'");


bağlantını hemen yaptıktan sonra setleri ekle yazdırmadan önce yap bunu hocam.
Birde dw kullanıp notepad++ geçtiğinde sıkıntılar çıkar en son dw de kaydedersen gene sorun çıkar sen sadece notepad++aç dosyanı ilk satırında garip simgeler varmı onlara bak varsa sil utf-8 bomsuz seç halen olmuyorsa yaz linkini bi bakalım.
 
sencal' Alıntı:
$baglanti=mysql_connect("localhost",$user,$psw) or die (mysql_error());
mysql_select_db($db,$baglanti) or die (mysql_error());
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET COLLATION_CONNECTION = 'utf8_general_ci'");


bağlantını hemen yaptıktan sonra setleri ekle yazdırmadan önce yap bunu hocam.
Birde dw kullanıp notepad++ geçtiğinde sıkıntılar çıkar en son dw de kaydedersen gene sorun çıkar sen sadece notepad++aç dosyanı ilk satırında garip simgeler varmı onlara bak varsa sil utf-8 bomsuz seç halen olmuyorsa yaz linkini bi bakalım.

Anormal karakterler çıkmıyor.Dediğinizi bir deneyim ben.Teşekkür ederim :)
 
Hocam çok teşekkür ederim.Düzeldi valla.Allah razı olsun.Herşeyi denedim,belirtiğiniz kısmı bu şekilde denemek aklıma gelmedi.Teşekkürler tekrardan :) :++: :alkis:
 
Geri
Üst