当我在PHP中将月份的名称转换为土耳其语时,它看起来不正确


When I turn name of the Month into Turkish Language in PHP, it does not look right

我想把月份的名称转换成土耳其语(如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 -一直到