php tcpdf不显示strftime的重音字符

时间:2012-08-28 16:02:00

标签: php localization locale tcpdf strftime

所以我用

设置语言环境
setlocale(LC_TIME, "fr_FR");

然后像这样使用strftime

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

这是有效的但8月份法语​​的拼写是错误的。当它应该是“août”

时,它输出%B为“aot”

有人有什么想法吗?

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

$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

1 个答案:

答案 0 :(得分:1)

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

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