mysql和PDF::API2.pdf文件中导入数据出现乱码

问题描述 投票:0回答:1

使用 PDF::API2 我编写了一个 perl 脚本来创建包含日语文本的发票 PDF 文件。 文件编码是utf8,我在标题中有“use utf8”。 如果我在脚本中声明变量,一切都很完美。 但是,如果我从 mysql 数据库(也是 utf8)获取变量数据,则 PDF 文件显示乱码而不是日语。

接下来,我尝试要求列出变量的 data.lib 文件(也是 utf8),而不是数据库。 又是乱码。 似乎它的唯一工作方式是当变量在脚本本身中列出时,这使得它无法用于例如为单独的客户提供 PDF 文件,无法一次又一次地为每个客户制作整个脚本...... 某处有解决办法吗?谢谢!

cjk
1个回答
0
投票

我找到了解决方案!使用 Perl 的 Encode 模块, $last_name =decode("utf8", $$hashref{last_name}); (来自 mysql) 或 $last_name =decode("utf8", $last_name); (来自 .lib 文件)就可以了。我仍然不明白为什么硬编码变量可以,而“导入”变量则不行,但只要它是固定的......

© www.soinside.com 2019 - 2024. All rights reserved.