Cevaplar
-
SQL'da (phpmyadmin ya da mysqladmin) şunu yazınız :
SET GLOBAL lc_time_names='tr_TR'-
zyber
#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation
SET GLOBAL lc_time_names = 'tr_TR'10 yıl önce yazılmış -
ziyahan
Şunu deneyin,
SET lc_time_names = 'tr_TR'
Yetkiniz GLOBAL olarak set etmek için yeterli olmayabilir. Bu şekilde lokal olarak değişkeni set edebilirsiniz.10 yıl önce yazılmış -
zyber
lokalimde denedim
%d.%B.%Y %A %H:%M
için
29 February 2012 Wednesday 10:09
sonuç verdi10 yıl önce yazılmış -
ziyahan
PHP kodunuzu da yollar mısınız? Bu verdiğim kod, root yetkiniz olmadığı için, SQL sorgunuzu çalıştırmadan önce kod ekranından da yapmanız gereklidir. PHP kodunuzu yapıştırırsanız size yardımcı olabilirim.10 yıl önce yazılmış -
zyber
bu bir cms demosu bu adreste http://wojoscripts.com/cmspro
işleyiş şu şekilde
Mysql ayarlar tablosunda uzun tarih formatı
long_date varchar(50) = "%d.%m.%Y %H:%M"
dtz varchar(120) = "Europe/Istanbul"
şeklinde tutuluyor.
$sql = "SELECT c.*, c.id as id, a.id as artid, a.title{$core->dblang} as title," . "\n DATE_FORMAT(c.created, '" . $core->long_date . "') as cdate" . "\n FROM mod_article_comments as c" . "\n LEFT JOIN " . $this->mTable . " AS a ON a.id = c.artid" . "\n $where" . "\n ORDER BY " . $sorting . $cmpager->limit; $row = $db->fetch_all($sql);
DATE_FORMAT(c.created, '" . $core->long_date . "') as cdate
Buradaki $core->long_date Mysql deki ayarlar tablosundan o değeri alıyor....
soruyla ilgili alanlar bunlar ama kod tek sayfa değil dediğim gibi ayar lar tablosu classlar ve diğer sayfalar include edildiği için tek bir sayfa gibi düşünmeyiniz.
Bunlar dışında gerekli kısım var mı bilemiyorum.
kodu lokalde deniyorumi problemi olmaması için
<?php if (!defined("_VALID_PHP")) die('Bu konuma doğrudan erişim yok.'); SET lc_time_names = 'tr_TR'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
şeklinde yazdım ama yinede sonuç şu şekilde
29.February.2012 Wednesday 10:09
üstteki söylediğinizide lokalde mysql de çalıştırmıştım....10 yıl önce yazılmış -
ziyahan
Şöyle yapabilirsiniz:
$row = $db->fetch_all($sql);
satırından hemen önce şunu yazınız.
$db->query("set lc_time_names='tr_TR'");10 yıl önce yazılmış -
zyber
$sql = "SELECT *, DATE_FORMAT(created, '" . $core->short_date . "') as start," ." \n YEAR(created) AS year, MONTH(created) AS month, COUNT(id) AS total" ." \n FROM " . $this->mTable ." \n WHERE active = 1 OR (expire != '0000-00-00 00:00:00' OR expire >= NOW())" . "\n GROUP BY year DESC, month DESC"; $db->query("set lc_time_names='tr_TR'"); $row = $db->fetch_all($sql);
şeklinde yaptım ama sonuç yine aynı :(
29.February.2012 Wednesday 10:0910 yıl önce yazılmış -
ziyahan
Kodunuzdan şu satırları siliniz:
<?php
if (!defined("_VALID_PHP")) die('Bu konuma doğrudan erişim yok.');
SET lc_time_names = 'tr_TR';
?>10 yıl önce yazılmış -
ziyahan
Dilerseniz Teamviewer verin bağlanıp bakayım.10 yıl önce yazılmış -
zyber
mail.com ile biten mailinize mail gönderdim10 yıl önce yazılmış -
ziyahan
Size eposta ile cevap gönderdim.10 yıl önce yazılmış -
zyber
Selamlar,
Ziya Bey Mailiniz Gereksizler içine düştüğü için mesajınız sonrasında okuyabildim.
Buraya ve size yazdıktan sonra araştırmalarıma devam ettim ve şu sonuca ulaştım.
Tarih alanı aşağıdaki fonksiyondan geçirilmişti.
function dodate($format, $date) { return strftime($format, strtotime($date)); }
bu fonksiyona setlocale(LC_ALL, "turkish"); i ekledim
function dodate($format, $date) { setlocale(LC_ALL, "turkish"); return strftime($format, strtotime($date)); }
Sonuçta 29 �ubat 2012 �ar�amba 12:00 şeklinde bir çıktı aldım.
Fonksiyonda dönen sonucu bu defa da mb_convert_encoding ile "UTF-8" den "ISO-8859-9" formatına çevirdim.
Elbette bu çevirme işlemlerinde bir çok şekil deneyerek bunda istediğim sonucu aldım.
Google'ı araştırdığımda çoğu kişi bu sorunu yaşamaktaydı.
Sonuçta fonksiyonu şu şekle getirdim ve sorun kalmadı.
function dodate($format, $date) { setlocale(LC_ALL, 'Turkish'); return mb_convert_encoding(strftime($format, strtotime($date)), "UTF-8", "ISO-8859-9"); }
Sonuç olumlu ancak sizin bu işlemlerime bir yorum ve tavsiyenizde benim için önemli.
Bu sonuçtan sonra tavsiyeleriniz sonucunda konuyu kapatmak üzere hoşcakalın.
Herşey için teşekkür ederim.10 yıl önce yazılmış
-