PHP’de türkçe tarih belirlerken setlocale()
ve strftime()
fonksiyonlarını kullanıyoruz. Örnek vermek gerekirse;
setlocale(LC_TIME, 'tr_TR'); echo strftime('%d %B %Y'); // 28 Eyl l 2018
Ancak bu bazı sunucularda türkçe karakter hatalarına yol açıyor. Örneğin yukarıdaki çıktıda olduğu gibi.. Bu gibi durumlarda iki şey yapılabilir.
1. çözüm yolu
setlocale()
fonksiyonunda 2. parametrede dil ve ülke kodu verilirken nokta ile karakter seti tanımlaması yapılabilir. Örneğin;
setlocale(LC_TIME, 'tr_TR.UTF-8');
Bu problemi ortadan kaldıracaktır.
2. çözüm yolu
srtftime()
fonksiyonu utf8_encode()
fonksiyonundan geçirilebilir. Örneğin;
setlocale(LC_TIME, 'tr_TR'); echo utf8_encode(strftime('%d %B %Y')); // 28 Eylül 2018
Bugün benim başıma geldi, çözümü arayıp buldum. Yarın sizinde başınıza gelirse bu şekilde halledebilirsiniz. Kolay gelsin ????