【发布时间】:2014-04-24 22:12:45
【问题描述】:
我正在尝试使用 Laravel 和 DomPDF 将文档导出为 PDF。这适用于我的 Mac,但不适用于登台或实时服务器。错误如下:
我不知道这意味着什么,也找不到任何解决方案。
iconv_strlen(): Wrong charset, conversion from8bit//忽略'到UCS-4LE' is not allowed
open: /srv/www/html/vendor/patchwork/utf8/class/Patchwork/PHP/Shim/Mbstring.php
return true;
}
static function mb_strlen($s, $encoding = INF)
{
INF === $encoding && $encoding = self::$internal_encoding;
return iconv_strlen($s, $encoding . '//IGNORE');
}
我尝试将以下内容添加到 .htaccess
AddDefaultCharset UTF-8
我已尝试将以下内容添加到我尝试为其生成 pdf 的视图顶部:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
如果您需要任何进一步的信息来帮助我调试,请在 cmets 中询问。
【问题讨论】:
-
看起来问题出在 Patchwork 提供的 MBString 兼容性 shim 中。 IE。您的服务器未启用 MBString,并且 shim 中的某些内容无法按预期工作。知道什么在调用
mb_strlen函数会有所帮助。你能得到堆栈跟踪吗? -
问题已解决。谢谢布赖恩。通过重新安装mbstring解决了问题。
sudo yum --disablerepo="*" --enablerepo="remi*" install php-mbstring* sudo httpd -k restart -
^^ 你应该通过回答你自己的问题来解决这个问题。你能解释一下你是如何运行这个过程的吗?
-
@Gravy 我遇到了同样的问题,在这里更新 php-mbstring 解决了它。您应该发布您为解决问题所做的工作的答案!
标签: php laravel dompdf iconv mbstring