chat eczaonline.com yazılım uzmanı gaziantep web tasarım

mysql ve turkce karakter

worshiphim

Profesyonel
Katılım
16 Ocak 2005
Mesajlar
670
Beğeniler
0
Konum
Suisse
#1
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...
 

ploop

Onursal Üye
Katılım
11 Eki 2004
Mesajlar
6,964
Beğeniler
0
Konum
karavan
#7
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

Profesyonel
Katılım
16 Ocak 2005
Mesajlar
670
Beğeniler
0
Konum
Suisse
#8
merhaba bunuda denedim malesef olmadı..
ayrıca mysqldeki bilgileri zaten latin5_turkish.ci yapmıştım
 

iyinet

Yönetici
Administratör
Katılım
2 Eyl 2002
Mesajlar
5,022
Beğeniler
54
Konum
Gaziantep
#9
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

Profesyonel
Katılım
15 Ara 2005
Mesajlar
732
Beğeniler
0
#10
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

Profesyonel
Katılım
16 Ocak 2005
Mesajlar
670
Beğeniler
0
Konum
Suisse
#11
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 />
<?
// ------------------------------------------------------------------
}
?>
 
Katılım
25 Şub 2005
Mesajlar
3,824
Beğeniler
19
Konum
hawaii. ama sanal tur.
#12
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 />
<? } ?>
 
Katılım
25 Şub 2005
Mesajlar
3,824
Beğeniler
19
Konum
hawaii. ama sanal tur.
#14
:) ş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

Profesyonel
Katılım
16 Ocak 2005
Mesajlar
670
Beğeniler
0
Konum
Suisse
#15
:) 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
 
Katılım
25 Şub 2005
Mesajlar
3,824
Beğeniler
19
Konum
hawaii. ama sanal tur.
#16
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

Profesyonel
Katılım
16 Ocak 2005
Mesajlar
670
Beğeniler
0
Konum
Suisse
#17
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

Profesyonel
Katılım
20 Tem 2005
Mesajlar
396
Beğeniler
0
#18
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

Müptela
Katılım
14 Eki 2005
Mesajlar
2,035
Beğeniler
1
Yaş
30
Konum
Ankara
#19
Ş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-)
 

Bu konuyu okuyanlar (Üyeler: 1, Misafirler: 0)

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. iyinet.com sayfalarında yer alan yazı, görsel ve linklerle ilgili hukuki şikayetleriniz için Buradan iletişime geçmeniz durumunda, ilgili kanunlar ve yönetmelikler çerçevesinde en geç 7 gün içerisinde iyinet yönetimince tarafınıza dönüş sağlanacaktır. Betcup Artemisbet Forum canlı bahis sohbet - - chat
Üst