Merhaba,
Çok enterasan bir sorun yaşıyorum. Localde ve başka sunucularda bu sorun yok ancak kullandığım sunucuda (centos, plesk, PHP 4,3) bu sorun var.
Şöyleki tüm kodlamalarım utf-8. Txt dosyadaki verileri okutup değişkenlere atıyorum ve yazdırıyorum. Ancak sadece Türkçe karakterler ile başlayan değikenlerde ilk harf kayboluyor.
<?
$dosya="referans/deneme.txt";
$bak=@fopen($dosya,"r");
while(!feof($bak)):
$satirlar=fgetcsv($bak,1024,";");
if ($satirlar[0]<>"" or $satirlar[1]<>"")
{
if ($alt=="renkli")
{
print "<tr><td>$satirlar[0]</td><td>$satirlar[1]</td><td>$satirlar[2]</td><tr>"; $alt="renksiz";
}
else {print "<tr class=\"alt\"><td>$satirlar[0]</td><td>$satirlar[1]</td><td>$satirlar[2]</td></tr>";$alt="renkli";}
}
else {}
endwhile;
fclose($bak);
?>
ayni veriyi sayfaya include kullanarak alinca hiçbir sorun yok !
sunucunun httpd.conf ve php.ini ayarlarına yapmadığım müdehale kalmadı. İnternette çözümü çok aradım. Bırakın çözümü ! bu sorunu yaşayan bile bulamadım.
Herhangibir fikriniz var mı ?
Teşekkürler.
Değişken Türkçe karakter ile başlıyor ise bunu yutuyor.
4
●1.483
- 28-02-2013, 15:38:18sorununuzun tam olarak cevabı burda açıklama kısımlarını okursanız göreceksiniz
http://www.php.net/manual/tr/function.fgetcsv.php - 02-03-2013, 17:36:04Merhaba,
Çok teşekkür ederim. Sanıyorum sorun orada bahsedildiği gibi yerel ayarlara dayanıyor. Başka sunucularda aynı kod sorunsuz çalıştığı için sorunun sunucu tarafında çözülmesi gerektiğini düşünüyorum. Geniş bir zamanda konuyu tam inceleyip sorunu kökünden çözeceğim.
Bu arada sağ kulağı soldan tutarak şimdilik aştım.
<td>leri php kod yerine txt dosyalara alinca problem ortadan kalktı. Zira bu şekilde olunca okutulan satır asla Türkçe karakter ile başlamıyor
<td>leri php kod yerine txt dosyalara alinca problem ortadan kalktı. Zira bu şekilde olunca okutulan satır asla Türkçe karakter ile başlamıyor