1

だから私はロケールを設定しています

setlocale(LC_TIME, "fr_FR");

そして、そのようにstrftimeを使用します

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

これは機能していますが、フランス語での8月のスペルが間違っています。「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

strftime() を utf8_encode() にラップすると解決しました。strftime() または TCPDF のバグかどうかは不明です。

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