1

所以我正在设置语言环境

setlocale(LC_TIME, "fr_FR");

然后像这样使用 strftime

$membershipStartDate = strftime('%A le %e %B %G', strtotime($_POST['membershipStartDate']));

这是有效的,但法语中八月的拼写是错误的。当它应该是“août”时,它会将 %B 输出为“aot”

有人有什么想法吗?

编辑:看起来这可能是 TCPDF 的问题。如果我在字符串中使用带有重音符号的 Write() 方法,它就可以工作。但是如果我使用 strftime() 函数,这些重音不会出现。在 TCPDF 之外使用 strftime() 也可以。

$pdf->Write(0,'août','',0,'L',false,0,false,true,0); // accents output correctly
$pdf->Write(0,$membershipStartDate,'',0,'L',false,0,false,true,0); // doesn't show accents
4

1 回答 1

2

在 utf8_encode() 中包装 strftime() 解决了它。不确定这是 strftime() 还是 TCPDF 的错误。

$membershipStartDate = utf8_encode(strftime('%A le %e %B %G', strtotime($_POST['membershipStartDate'])));
于 2012-08-29T04:03:42.420 回答