我想把月份的名称转换成土耳其语(如April = Nisan)。我为此定义了一个函数。这是工作,但土耳其月的名称是不正确的。我认为这是土耳其语字符的问题。我怎样才能解决这个问题?
屏幕截图我的日期翻译功能:
function tarih_formatla_unix($format,$ftarih,$kacgun) //tarih_formatla_unix("GG Ay YYYY",$date,0)
{
$ftarih = date('d.m.Y', strtotime($ftarih));
$bolisaret = ".";
$tarih = explode("$bolisaret",$ftarih);
$gun = $tarih[0];
$ay = $tarih[1];
$yil = $tarih[2];
$ftarih = mktime(0, 0, 0, $ay, ($gun+$kacgun), $yil);
$gun = date("d",$ftarih);
$ay = date("n",$ftarih) - 1; //-1 dizi 0'dan başladığı için
$yil = date("Y",$ftarih);
$turkay = array("Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık");
$enay = array("January","February","March","April","May","June","July","August","September","October","November","December");
$turkgun = array("Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi","Pazar");
$engun = array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");
if ($format == "GG Ay") $TAMTARIH = $gun . " " . $turkay[$ay];
if ($format == "GG Ay YYYY") $TAMTARIH = $gun . " " . $turkay[$ay] . " " . $yil;
return $TAMTARIH;
}
关于您的代码有一个注释,另一个答案将帮助您在使用UTF-8字符时完成所需的所有设置。
注释是,你可以使用setlocale和strftime函数,而不是使用你所做的自定义函数。
setlocale(LC_TIME, 'tr_TR');
var_dump(strftime('%A %d %m %Y'));
关于如何使用UTF-8编码的更多信息可以通过以下问题找到:UTF-8 -一直到