dompdf特殊字符显示问号?
dompdf special character showing question mark?
我使用 dompdf 0.5.1 生成 PDF 文件。但是特殊字符没有正确显示。
例如.
它在生成的 PDF 文件中显示类似 – “
的内容。
我使用了 UTF-8 编码,例如
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
在由 dompdf 呈现的 HTML 页面中。
我在发送到dompdf之前也使用过编码,比如
$dompdf->load_html(utf8_decode($html));
.
但是我得到的是 ?
个标记而不是上面的字符。
如何解决上述问题?
Dompdf 0.5.1 对 Windows ANSI 编码不支持的字符的支持有限。如果您需要支持这些字符,您应该至少更新到 Dompdf 0.6.2. Though I'd recommend using Dompdf 0.7.0(如果可以的话)。
您需要提供支持您的字符的字体(请参阅 Unicode How-To),但只要您不尝试呈现 CJK 字符,您就可以依赖包含的 DejaVu 字体。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<style>
* { font-family: DejaVu Sans, sans-serif; }
</style>
</head>
<body>
<p>—</p>
</body>
</html>
此外,您应该永远不要使用utf8_decode()
,因为它会破坏性地转换为 iso-8859-1 编码。我所说的破坏性意思是它会改变字符,它不能直接转换为问号 (?) 中的 iso-8859-1。
我使用 dompdf 0.5.1 生成 PDF 文件。但是特殊字符没有正确显示。
例如
它在生成的 PDF 文件中显示类似 – “
的内容。
我使用了 UTF-8 编码,例如
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
在由 dompdf 呈现的 HTML 页面中。
我在发送到dompdf之前也使用过编码,比如
$dompdf->load_html(utf8_decode($html));
.
但是我得到的是 ?
个标记而不是上面的字符。
如何解决上述问题?
Dompdf 0.5.1 对 Windows ANSI 编码不支持的字符的支持有限。如果您需要支持这些字符,您应该至少更新到 Dompdf 0.6.2. Though I'd recommend using Dompdf 0.7.0(如果可以的话)。
您需要提供支持您的字符的字体(请参阅 Unicode How-To),但只要您不尝试呈现 CJK 字符,您就可以依赖包含的 DejaVu 字体。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<style>
* { font-family: DejaVu Sans, sans-serif; }
</style>
</head>
<body>
<p>—</p>
</body>
</html>
此外,您应该永远不要使用utf8_decode()
,因为它会破坏性地转换为 iso-8859-1 编码。我所说的破坏性意思是它会改变字符,它不能直接转换为问号 (?) 中的 iso-8859-1。