23

正しい文字で PDF を作成しようとしていますが、「?」があります。文字。テストphpファイルを作成しました。ここで、最適なソリューションを見つけようとしています。ブラウザでhtmlを開くと、大丈夫のように見えます

UTF-8 --> UTF-8 : X Ponuka číslo € černý Češký 

しかし、pdfを見ると、これが表示されます

UTF-8 --> UTF-8 : X Ponuka ?íslo € ?erný ?ešký 

ここに私のすべてのコードがあります:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>č s š Š</title>
</head>
<body>
<?php 

require_once("dompdf/dompdf_config.inc.php");
$tab = array("UTF-8", "ASCII", "Windows-1250", "ISO-8859-2", "ISO-8859-1", "ISO-8859-6", "CP1256"); 
$chain = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <style></style><title>č s š Š</title></head><body>';
foreach ($tab as $i) 
    { 
        foreach ($tab as $j) 
        { 
            $chain .= "<br> $i --> $j : ".iconv($i, $j, 'X Ponuka číslo € černý Češký <br>'); 
        } 
    } 
$chain .= '<p style="font-family: firefly, verdana, sans-serif;">??????X Ponuka číslo € černý Češký <br></p></body></html>';
echo $chain; 
echo 'X Ponuka číslo € černý Češký <br>'; 

$filename = 'pdf/_1.pdf';
$dompdf = new DOMPDF();
$dompdf->load_html($chain, 'UTF-8');
$dompdf->set_paper('a4', 'portrait'); // change these if you need to
$dompdf->render();
file_put_contents($filename, $dompdf->output());

?> 
</body>
</html>

私は何を間違っていますか?私は見つけた多くの多くのオプションを試しました:(何か考えはありますか?

4

11 に答える 11

37

この組み合わせでUTF-8文字が動作するようになりました。html を DOMpdf に渡す前に、これでエンコーディングを隠します:

$html = mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8');

CSS で DejaVu フォントを使用する

*{ font-family: DejaVu Sans; font-size: 12px;}

<head>HTMLタグにutf-8エンコーディングを設定していることを確認してください

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

すべての特殊文字が機能するようになりました "ľ š č ť ž ý á í é"

于 2015-02-02T10:17:56.750 に答える
2

utf8_decode() は、ä や ü などのいくつかのドイツ語の翻訳でうまくいきました。

echo utf8_decode('X Ponuka číslo € černý Češký <br>');
于 2018-04-16T16:43:58.603 に答える
1

漢字は時々問題を引き起こします。重要な部分は、優れたフォントを使用することです。ダウンロードできるリストを次に示します。

私が最初に選んだ「Kai Bold Font」のダウンロードページはこちら

次に、ホスティング サービスのパブリック フォルダーに配置します。中に入れました

http://192.168.10.10/fonts/pdf/wts11.ttf

ここに私のhtmlの例があります

$html = <<<EOT
<!DOCTYPE html>
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <style>
    @font-face {
      font-family: chinese;
        src: url('http://192.168.10.10/fonts/pdf/wts11.ttf') format('truetype');
    }
    .chineseLanguage { font-family: chinese; }
      body {font-family: DejaVu Sans, sans-serif;}
   </style>
</head>
<body>
    Chinese
    <div class='chineseLanguage'>
        忠烈祠
        中文 - 这工作&lt;br> 
    </div>
    hello world <br> 
    Russian - русский текст <br>
    Greek - α,β,γ,δ,ε <br>
    chars - !@#$%^&* -=- €   <br><br>
    <br>
    Hebrew (iw)<br><br>
    דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה<br>
    <br>    
</body>
</html>
EOT;

PS。このセットが必要になる可能性はほとんどありません。

ini_set("allow_url_fopen", true);
于 2018-04-27T05:18:14.233 に答える