【问题标题】:Special characters with dompdf and php带有 dompdf 和 php 的特殊字符
【发布时间】:2014-10-28 08:29:57
【问题描述】:

我有一个问题:我尝试使用 dompdf 和 php 导出 pdf,但我不能这样做,我不明白我的问题在哪里,所以我的代码是:

public function generateTitlePage($company)
{
    $this->load->library('dompdf_gen');
    $html='
        <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        </head>
        <body>
            <div style="margin-top:20px;text-align: center;font-weight: bold">
                Company:'.$company.'
            </div>
        </body>
        <html>'; 
    $dompdf = new DOMPDF();
    $html = stripslashes($html);
    $dompdf->load_html($html, 'UTF-8');
    $dompdf->set_paper('a4', 'portrait');
    $dompdf->render();
    $dompdf->stream("welcome.pdf");
}

例如,如果我的 pdf 中有 ă,则此符号将转换为:%C4%83

【问题讨论】:

  • same question multiple times 不是StackOverflow的使用方法。您应该将自己限制在一个问题上,回复 cmets,并编辑您的问题以清楚起见。

标签: php codeigniter codeigniter-2 php-5.3 dompdf


【解决方案1】:

我试图找到类似的,我发现许多其他用户在使用 UTF-8 编码时也有同样的问题。他们通过在php.ini 配置文件中将mbstring.encoding_translation 更改为On 找到了解决方案:

mbstring.encoding_translation = On

或者对于一些有帮助的utf8_decode()函数:

$dompdf->load_html(utf8_decode($html), 'UTF-8');

【讨论】:

  • 我变了,情况还是一样
  • 也尝试第二种选择。
  • 这可能是无关紧要的问题,但是您的 PHP 文件是否以 UTF8 编码保存?你为什么要使用stripslashes?
  • 我的文件保存为 UTF8 我删除了stripslashes
猜你喜欢
  • 1970-01-01
  • 2011-07-05
  • 2016-11-26
  • 1970-01-01
  • 1970-01-01
  • 2012-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多