İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

mysql ve turkce karakter

worshiphim

0
İyinet Üyesi
Katılım
16 Ocak 2005
Mesajlar
670
Reaction score
0
Konum
Suisse
Merhaba arkadaslar
3 gündür uğraştığım bir sorun var
mysql den gelen verileri ekrana türkçe bastırmamda sorun var
yardım edecek arkadaşlara teşekkürler..
aşağıdaki kodu kullanıyorum:

// Get news items from database, and order them from newest to oldest
if($c != "") { $t_news .= " WHERE cat = '$c'"; }
$q['info'] = mysql_query("SELECT * FROM $t_news ORDER BY date DESC LIMIT 0, $lim", $link);

while($h = mysql_fetch_array($q['info'], MYSQL_ASSOC)) {
// Edit the HTML code below for the output of your headlines
// Edit the HTML code between the dashed lines
// ------------------------------------------------------------------
?>
-<a href=<? echo $page; ?>?a=<? echo $h['id']; ?> title="<? echo $h['subject']; ?>"><? echo cn_cutstr($h['subject'],"$charnum"); ?></a><br />


bu kod düzgünce çalışıyor sadece subject i türkçe bir türlü basamıyorum... Ü , ö gibi karakterler sorun olmazken, ı, ğ, ş gibi karakterler bozuk gözüküyor..

not: mysqldeki bölümleri turkish yapmayı denedim
Teşekkürler...
 

sempaty

1
İyinet Üyesi
Katılım
25 Şubat 2005
Mesajlar
3,824
Reaction score
19
Konum
hawaii. ama sanal tur.
-<a href=<? echo $page; ?>?a=<? echo $h['id']; ?> title="<? echo $h['subject']; ?>"><? echo $h['subject']; ?></a>

dene.
 

ploop

0
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
6,964
Reaction score
0
Konum
karavan
mysql bağlantı dosyana asağıdaki satırları ekledin mi?
mysql_query("SET NAMES 'latin5'");
mysql_query("SET CHARACTER SET latin5");
mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'");
not: her zaman söylerim anlamıyorum bu mysql'den php'den oradan buradan bakarak cevaplıyorum. saçma sapan bir öneri de olabilir gülmeyin :)
 

worshiphim

0
İyinet Üyesi
Katılım
16 Ocak 2005
Mesajlar
670
Reaction score
0
Konum
Suisse
merhaba bunuda denedim malesef olmadı..
ayrıca mysqldeki bilgileri zaten latin5_turkish.ci yapmıştım
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
63
Konum
Sakarya
Bu tur sorunlar, birebir ilgili veritabani ve uygulama uzerinde calismadan kolay cozulemez. Yardim etmeye calisan kullanicilar sadece varsayimlarda bulunuyor.
Sen, ornegin sorunlu sayfanin linkini, mysql versiyonunu vererek yardim etmek isteyen kullanicilara, yardim edebilirsin.
 

BabaPanter

0
İyinet Üyesi
Katılım
15 Aralık 2005
Mesajlar
732
Reaction score
0
Bir tahmin de ben yapıyım bari;
PHP:
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1254">
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-9">
 

worshiphim

0
İyinet Üyesi
Katılım
16 Ocak 2005
Mesajlar
670
Reaction score
0
Konum
Suisse
aslında tüm sorun yukarıda verdiğim kodda oluyor. Diğer sayfalarda bir sorun yok.
Bu sayfanın tüm kodlarını veriyorum.

<?
### headlines.php - added [v1.12]

// Automatically get $tpath to avoid possible security holes
$tpath = realpath(__FILE__);
$tpath = substr($tpath,0,strrpos($tpath,DIRECTORY_SEPARATOR)+1);
// Check if the file exists on local server and include it
if(file_exists($tpath . "cn_config.php")) {
require_once($tpath . "cn_config.php");
} else {
die("Could not include required configuration file");
}

// Check if a connection to the database was established
if(!isset($link)) {
die("Please make sure the \"\$tpath\" veriable is the root path to where 'headlines.php' is on your server.");
}

// Page URL to link the news items
if(!isset($page)) { $page = "/index.php"; }
// Set limit for number of items displayed
if(!isset($lim)) { $lim = "5"; }
// Number of characters to cut news titles at
if(!isset($charnum)) { $charnum = "18"; }

// Get news items from database, and order them from newest to oldest
if($c != "") { $t_news .= " WHERE cat = '$c'"; }
$q['info'] = mysql_query("SELECT * FROM $t_news ORDER BY date DESC LIMIT 0, $lim", $link);

while($h = mysql_fetch_array($q['info'], MYSQL_ASSOC)) {
// Edit the HTML code below for the output of your headlines
// Edit the HTML code between the dashed lines
// ------------------------------------------------------------------
?>
-- <a href="<? echo $page; ?>?a=<? echo $h['id']; ?>" title="<? echo $h['subject']; ?>"><? echo cn_cutstr($h['subject'],"$charnum"); ?></a><br />
<?
// ------------------------------------------------------------------
}
?>
 

sempaty

1
İyinet Üyesi
Katılım
25 Şubat 2005
Mesajlar
3,824
Reaction score
19
Konum
hawaii. ama sanal tur.
Kod:
, MYSQL_ASSOC

bunu kaldırmayı dene istersen bi. olmazsa bunu da deneyebilirsin

PHP:
<? 
$tpath = realpath(__FILE__);
$tpath = substr($tpath,0,strrpos($tpath,DIRECTORY_SEPARATOR )+1);
if(file_exists($tpath . "cn_config.php")) {
require_once($tpath . "cn_config.php");
} else {
die("Could not include required configuration file");
}
 
if(!isset($link)) {
die("Please make sure the \"\$tpath\" veriable is the root path to where 'headlines.php' is on your server.");
}
if(!isset($page)) { $page = "/index.php"; }
if(!isset($lim)) { $lim = "5"; }
if(!isset($charnum)) { $charnum = "18"; }
 
if($c != "") { $t_news .= " WHERE cat = '$c'"; }
$sorgula = @mysql_query("SELECT * FROM $t_news ORDER BY date DESC LIMIT 0, $lim", $link);
while($h = mysql_fetch_array($sorgula)) { 
?>
-- <a href="<? echo $page; ?>?a=<? echo $h['id']; ?>" title="<? echo $h['subject']; ?>"><? echo cn_cutstr($h['subject'],"$charnum"); ?></a><br />
<? } ?>
 

sempaty

1
İyinet Üyesi
Katılım
25 Şubat 2005
Mesajlar
3,824
Reaction score
19
Konum
hawaii. ama sanal tur.
:) şimdi dediğinize göre veritabanındaki bi satırın başlık harici diğer (türkçe karakter içeren) kolonlarını sorunsuz alabiliyorsunuz di mi. onların tablo ve sütun karakter karşılaştırmaları önemli. mesela sadece başlık sütununun karakter karşılaştırması utf olabilir ya da başka bişey

verdiğiniz dosyada normal bi veri çekme işlermi var. çalışması gerek yani.
karşılaştırmaları latin5 yapmışsınız gerçi. o zaman şu mysql_query fonksiyonunun hemen üstüne

mysql_query("SET NAMES 'latin5'");

tekrar deneyin.
 

worshiphim

0
İyinet Üyesi
Katılım
16 Ocak 2005
Mesajlar
670
Reaction score
0
Konum
Suisse
:) bunları da denedim
ayrıca phpmyadmin ile bağlanıp heryeri latin5_turkish yaptim sorun hala aynı..
Acaba
-- <a href=<? echo $page; ?>?a=<? echo $h['id']; ?> title="<? echo $h['subject']; ?>"><? echo cn_cutstr($h['subject'],"$charnum"); ?></a><br />

burdaki $h['subject'] degiskenini substr gibi bir fonksiyonla ı ş ve ğ harflerini değitirtebilir miyiz eğer olursa bu yapı nasıl olmalı acaba
 

sempaty

1
İyinet Üyesi
Katılım
25 Şubat 2005
Mesajlar
3,824
Reaction score
19
Konum
hawaii. ama sanal tur.
değiştirebilirsin de şuan ne göründüğünü bilmiyoruz ki

şöyle yapabilirsin

Kod:
$baslik = str_replace("bozukŞ", "Ş", $h['subject']);
$baslik = str_replace("bozukĞ", "Ğ", $h['subject']);
Kod:
-- <a href=<? echo $page; ?>?a=<? echo $h['id']; ?> title="<? echo $baslik; ?>"><? echo cn_cutstr($baslik,"$charnum"); ?></a><br />
şeklinde.
 

worshiphim

0
İyinet Üyesi
Katılım
16 Ocak 2005
Mesajlar
670
Reaction score
0
Konum
Suisse
merhaba denedim yine olmadı :)
Bu neden olabilir acaba arkadaşlar sanırım bir kaç kişi daha aynı sorunla uğraşıyor .. teşekkürler
 

voodoo

0
İyinet Üyesi
Katılım
20 Temmuz 2005
Mesajlar
396
Reaction score
0
Eğer dreamweaver kullanıyorsan sayfa encodinge bak kod eklemeden dreamweaver garip bi şekilde encodingi bozuyor. Aklıma ilk gelen bu oldu.

Ayrıca phpmyadmin işlemlerden collucationı da latin5_turkish_ci yapmayı unutma.

Bunlar benim başıma gelen sorunlar ama su bi gercek latin5 asla çözüm degil çünkü hostu taşırken mutlaka sorun çıkarıyor unicode calisip swedish_ci ile yapmaliyiz dblerimizi.
 

alorak

0
İyinet Üyesi
Katılım
14 Ekim 2005
Mesajlar
2,035
Reaction score
1
Konum
Ankara
Şimdi şunları söyle önce. PHPMyAdminde veriler düzgün gözüküyor mu?

MySQL karakter grubu: bunu latin5_turkish yap
sonra tablonun yapısına girip ordaki karşılaştırmayı latin5_turkish yap. Eğer zaten bunlar varsa;

o dosyayı mysqla bağladığın kodun bir alt satırına da

Kod:
mysql_query("SET NAMES 'latin5'");

yapıştırdı mı tamamdır.(bazen eski eklenen verilerin istetilmesinde sorun çıkartabilir yeni ekleyip de bir dene-eğer çok veri yoksa-)
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst