【问题标题】:Having æøå chars in HTML2PDF charset在 HTML2PDF 字符集中包含 æøå 字符
【发布时间】:2011-09-04 18:33:14
【问题描述】:
$content = "ÆØÅ";
$html2pdf = new HTML2PDF('P', 'A4', 'en');
$html2pdf->writeHTML($content, false)

$html2pdf->Output('', 'S'));

给我一​​个带有“ÆØÔ的PDF文件

我检查了 html2pdf.class.php 中的编码,它设置为 UTF-8 应该没问题。

我尝试将 'en' 更改为 'da'(丹麦语),结果还是一样..

请问我该如何解决这个问题?现在花了几个小时寻找..

【问题讨论】:

  • 对我来说,更改字体确实有效,因为我使用的字体库没有其他语言的 unicode。

标签: php html2pdf


【解决方案1】:

您必须做两件事才能在 html2pdf 中看到奇怪的 UTF8 字符:

  1. 设置 'UTF-8' encoding,正如 Erik 建议的那样
  2. 在 html2pdf 中使用唯一的 UTF-8 字体freeserif

我知道这是个老问题,但我需要几点:)

【讨论】:

  • 只是为了澄清为您需要的符号包装html实体 €欧元,£为£等
  • 这只是我的修复,但带有 html 元标记。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
【解决方案2】:

您似乎指定了错误的输出编码。例如,如果尝试将 UTF-8 输出显示为 ISO8859-1,则输出是典型的。

看起来 HTML2PDF 构造函数也有一个以字符编码为参数的版本:

$html2pdf = new HTML2PDF('P','A4','da', true, 'UTF-8');

可能会起作用...

【讨论】:

  • @ErikABrandstadmoen 没有成功,我已将此编码参数更改为 UTF-8.. 仍然没有.. 还有其他地方可以更改编码吗?或者它本身的 pdf 库可能只接受 iso-8859s ?
  • 我也在寻找同样问题的解决方案。我在上面试过了,但它不起作用。
【解决方案3】:

你可以使用这个 PHP 函数

utf8_decode($article_content);

如果它不起作用,唯一的解决方案是制作一个 str_replace()

$content = "ÆØÅ"; 
$code_html = array("Æ","Ø","Å");
$caract_sp = array("Æ","Ø","Å");
str_replace($code_html, $caract_sp, $content);

对于任何其他特殊字符,您可以在此处查看等效的 HTML 代码:http://www.toutimages.com/codes_caracteres.htm

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-19
    • 2011-03-18
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    • 2014-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多