yeni tasarladıgım sitem için dil secenegi ekledim ve eger dil secilirse bunuda session ile hafızada tutuyorum..
dil.php dosyam şu şekilde
<?php
session_start();
// oturuma gore dil seciyoruz
$secili_dil = $_SESSION["dil"];
// eger dil oturumda secili degilse
if( empty($secili_dil) ){
// dili browser ayarina gore otomatik sectiriyoruz.
$secili_dil = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
if( !file_exists("diller/".$secili_dil.".php") ){
// eger o dile ait ceviri dosyasi yoksa site icin varsayilan dili sectirelim.
// bizim site icin turkce olsun
$secili_dil = 'tr';
}
}
// oturuma kaydedelim
$_SESSION["dil"]=$secili_dil;
// simdide ceviri dosyasini yukleyelim
include("diller/".$secili_dil.".php");
?>Bu dil.php dosyasını index.php de tüm kodların üstünde include olarak çağırmışımŞimdi sorunum şudur;
Dosyalar oluşturulurken set ANSI olarak seçilmişse ve kodlarda
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-9">
ile set belirtilmişse herşey sorunsuz çalışıyor...
Fakat benim işlemlerime göre herşeyin UTF-8 olması gerekiyor
dosyaları oluştururken (notdefteri ile yaptım) seti UTF-8 yapıyorum
ve kodlarda ise
<META http-equiv="Content-Type" content="text/html; charset=utf-8"> olarak belirtiyorum
böyle yapınca session_start hata veriyor.
Hata şudur:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\AppServ\www\ysite\index.php:1) in D:\AppServ\www\ysite\dil.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\AppServ\www\ysite\index.php:1) in D:\AppServ\www\ysite\dil.php on line 2
Neden iso'da sorunsuz çalışırken UTF-8 yapınca hata alıyorum
konu hakkında bilgisi olan arkadaşlar tecrubelerini yazarsa çok sevinirim..
Baya zamandır arıştırıyorum ama çözüm bulamadım
ob_start ekle dediler olmadı
utf-8 BOM olmaması lazım dediler Notepad++ indirip bomsuz yaptım yine olmadı