PHP utf-8 problemi

Katılım
12 Haz 2006
Mesajlar
1,511
Beğeniler
0
Konum
Kayseri
#1
Daha önce sorulduğunu sanmadığımdan aramadan soruyorum.

PHP'de GET olarak gelen değişkeni ekrana utf php header yazdıktan sonra yazdırdığım zaman türkçe karakter sorunu olmuyor.

Ama o isimde bir türkçe karakterli php dosya include etmeye çalıştığımda include var olan dosyayı bulamıyor. Türkçe karakter düzgün olmasına rağmen.

Aynı şey ISO karakter setinde olmuyor ve dosyayı bulup include ediyor.

Nedir UTF nin derdi ya
 

iyinet

Yönetici
Administratör
Katılım
2 Eyl 2002
Mesajlar
5,022
Beğeniler
53
Konum
Gaziantep
#2
Daha önce sorulduğunu sanmadığımdan aramadan soruyorum.

PHP'de GET olarak gelen değişkeni ekrana utf php header yazdıktan sonra yazdırdığım zaman türkçe karakter sorunu olmuyor.

Ama o isimde bir türkçe karakterli php dosya include etmeye çalıştığımda include var olan dosyayı bulamıyor. Türkçe karakter düzgün olmasına rağmen.

Aynı şey ISO karakter setinde olmuyor ve dosyayı bulup include ediyor.

Nedir UTF nin derdi ya

Bildigim kadari ile PHP deki UTF-8, Turkce karakterleri desteklemiyor(du)?.
 
Katılım
12 Haz 2006
Mesajlar
1,511
Beğeniler
0
Konum
Kayseri
#5
işte bende her zaman utf kullanmak istiyorum ama dosyaları include ederken o isimde dosyayı bulamıyor türkçe karakteri var diye. mysql ile ilgili sorunuda hallettim ama olmuyor bi türlü.

türkçe include için bir function falan kullanıyormusun utf desteği için ?
 

Caesar

Müptela
Katılım
5 Haz 2006
Mesajlar
1,894
Beğeniler
7
Konum
/dev/null
#6
windows kullanıyorsan oluşturduğun dosyalar türkçe isimde ise otomatik windows karakteri olur. utf-8 yaparsan bozulur o türkçe karakterler. ben linux kulanıyorum herşeyi utf-8 olduğu için o şekilde bir sorunum yok.
 
Katılım
12 Haz 2006
Mesajlar
1,511
Beğeniler
0
Konum
Kayseri
#9
teşekkürler ceasar :)

hocam UTF kaydettim ama o da olmadı. isim okumada bir sorun var include için. galiba windows tabanlı deniycem artık.
 

iyinet

Yönetici
Administratör
Katılım
2 Eyl 2002
Mesajlar
5,022
Beğeniler
53
Konum
Gaziantep
#10
Benim bahsettigim utf8_decode ve utf8_encode fonksiyonlari.
Perl de bu fonsiyonlari kullanarak cevrim yapilabiliyor, Turkce dahil.
Ancak PHP sadece ISO-8859-1 yani latin1 i destekliyor.
PHP deki utf8_decode ve utf8_encode fonksiyonlari Turkce'yi yani ISO-8859-5 yani latin5 i desteklemiyor.
 

Caesar

Müptela
Katılım
5 Haz 2006
Mesajlar
1,894
Beğeniler
7
Konum
/dev/null
#12
abicim dosyaları atmayacaksın direk orada yaratman lazım.

atarsan aynı karakter setle gider. "touch dosyaismi.php" de bakalım
 
Katılım
12 Haz 2006
Mesajlar
1,511
Beğeniler
0
Konum
Kayseri
#13
tmm dediğin doğru orda yapınca ok. ama peki ben windows içinde nasıl UTF kullancam ? UTF kullanmadan nasıl çoklu dil desteği kullancam :(

ben napcam böle ya :(
 

tiva

Müptela
Katılım
20 Eyl 2003
Mesajlar
2,741
Beğeniler
4
#15
tmm dediğin doğru orda yapınca ok. ama peki ben windows içinde nasıl UTF kullancam ? UTF kullanmadan nasıl çoklu dil desteği kullancam :(

ben napcam böle ya :(
php ile birşeyler yapanların bence linux üzerinde çalışması daha verimli olur, ubuntunun son hali çok güzel rahat kullanırsın, onu kurabilirsin en azından.
 
Katılım
12 Haz 2006
Mesajlar
1,511
Beğeniler
0
Konum
Kayseri
#16
valla url lerde türkçe karakter kullanmak istiyorum. google türkçe karakteri gayet iyi görüyor. dolaysıyla include yaptıklarımı url den gelen GET ile yaptığımdan türkçe karakter sorun oluyor. UTF de kullanmak istiyorum çünkü W3 iyidir diyor ve çoklu dil desteği için gerekiyor.

kaldık mı öle şimdi :(
 
Katılım
12 Haz 2006
Mesajlar
1,511
Beğeniler
0
Konum
Kayseri
#17
şu an için sanırım tek geçerli çözüm veritabanlarını dağıtmak, ve iso kodlarını değiştire değiştire site yapmak olacak ki bi karışıklık daha alcam başıma. zaten kıytırık bir framework yazıyorum bi de bu çıktı. öfff....
 

Caesar

Müptela
Katılım
5 Haz 2006
Mesajlar
1,894
Beğeniler
7
Konum
/dev/null
#18
yahu elinde tanımla o zaman sende

PHP:
if ($_GET[t]=="türkçe") {
 include "turkce.php";
} else if ($_GET[t]=="şerafettin") {
 include "serafettin.php";
}
demokraside çareler tükenmiyor.
 
Katılım
12 Haz 2006
Mesajlar
1,511
Beğeniler
0
Konum
Kayseri
#19
offf sonunda GET ile gelen veriyi senin dediğin gibi iki ayrı diziye atıp temizleyerek bir tanesinde türkçe karaktersiz hale getirip include için kullandım ve oldu. PHP.net içinde yorumlarda sadık keskin diye biri şu fonksiyonu vermiş,

function turkce_karakter_sorunu($string) {
//$degisken=strtr(iconv('UTF-8','ISO-8859-9',$degisken), "çğıöşüÇĞİÖŞÜ", "cgiosuCGIOSU");
$str_array = array(
chr(196).chr(177) => chr(253),
chr(196).chr(176) => chr(221),
chr(195).chr(182) => chr(246),
chr(195).chr(150) => chr(214),
chr(195).chr(167) => chr(231),
chr(195).chr(135) => chr(199),
chr(197).chr(159) => chr(254),
chr(197).chr(158) => chr(222),
chr(196).chr(159) => chr(240),
chr(196).chr(158) => chr(208),
chr(195).chr(188) => chr(252),
chr(195).chr(156) => chr(220)
);
$degisken=str_replace(array_keys($str_array), array_values($str_array), $degisken);
return $degisken;
}

yunancasını görüp türkçesi çıkmayacak diye korkmuştum varmış iyi ki :)

Teşekkürler ceasar ;)
 

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

Üst