首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PHP中将非UTF-8编码转换为可读性更好的/UTF-8编码?

如何在PHP中将非UTF-8编码转换为可读性更好的/UTF-8编码?
EN

Stack Overflow用户
提问于 2018-05-23 19:28:43
回答 1查看 1.3K关注 0票数 3

我在Laravel 5.4项目中使用'PDF Parser‘来获取pdf文件的内容。但是当我转储内容时,我得到了一些编码的文本,当悬停在上面时,读取的是'5868个二进制或非UTF-8字符‘。

这是用于读取文件内容的代码。

代码语言:javascript
复制
$file = $request->file('file');
$parser = new \Smalot\PdfParser\Parser();
$pdf    = $parser->parseFile($file);
$scannedText = $pdf->getText();
dd($scannedText);

它会转储如下内容:

代码语言:javascript
复制
x00i\x00n\x00g\x00ª\x00t\x00h\x00i

当“编码类型”设置为"auto“时,PHP的mb_detect_encoding()函数返回false。utf8_encode()也不能工作,所以我知道它不是ISO-8859-1编码。

这就是我现在被卡住的地方。任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2018-12-16 02:04:30

在我的项目中,我得到了类似的错误'PDF解析器‘。

但是我不再有这个错误,使用:https://github.com/spatie/pdf-to-text

您可以使用composer安装它:

代码语言:javascript
复制
composer require spatie/pdf-to-text

它是这样工作的:

代码语言:javascript
复制
use Spatie\PdfToText\Pdf;

$pdf = (new Pdf())->setPdf('sample.pdf');

$pdf->setOptions(['layout']);

dump($pdf->text());
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50487249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档