0

ÆØÅなどのノルウェー語の文字を使用しているため、mpdfを使用してPDFファイルを作成したいと思います。PDFファイルの情報は、ほとんどの場合、ユーザーがHTML形式で記述したテキストで構成されます。しかし、私にはいくつかの問題があります。

このコードを使用する場合:

$mpdf->WriteHTML('Text with ÆØÅ');

PDFには特殊文字が表示されます。

しかし、これを使用する場合:

<?php
include('mpdf/mpdf.php');

$name = 'Name - <b>' . $_POST['name'] . '</b>';

$mpdf = new mPDF();

$mpdf->WriteHTML($name);

$mpdf->Output();
exit;

?>

特殊文字は表示されません。

HTMLフォームは次のようになります。

<form action="hidden.php" method="POST">
    <p>Name:</p>
    <input type="text" name="name">

   <input type="submit" value="Send"><input type="reset" value="Clear">
</form>

このメソッドで特殊文字が表示されないのはなぜですか?そして、どの方法を使うべきですか?

4

1 に答える 1

1

POST データを Web サイトにエコーバックしても文字は表示されないため、これは明らかに mpdf の問題ではありません。ASCII 以外の文字を含むコンテンツを使用する場合は、Web サイトの文字エンコードに特に注意する必要があります。

mpdf-documentation から、UTF-8 エンコーディングをサポートしていることがわかるので、それをデータに使用することをお勧めします。POST データは、Web サイトで使用されているのと同じエンコーディングで受信されます。そのため、Web サイトが latin-1 の場合、utf8_encode()を呼び出して POST データを Unicode に変換する必要があります。ウェブサイトが既に UTF-8 を使用している場合は、問題ありません。

Web サイトのヘッダーに特定のエンコーディングを設定しない場合 (この種の問題を回避するために常に設定する必要があります)、エンコーディングは、サーバーのオペレーティング システムや構成、元の php ソースファイルのエンコーディングなど、いくつかの要因に依存する可能性があります。結局のところ、これは、独自の OS 構成とエディターの選択に影響されます。

于 2012-07-24T12:47:37.680 に答える