PHP strftime() Türkçe Karakter Hatası Çözümü

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'); // 11 Eyl l 2019

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')); // 11 Eylül 2019

Ben bu şekilde çözdüm, umarım yardımcı olabilmişimdir size.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir