我有一个名为"收入"的MySQL表。这是包含在Unicode Sinhala字体中的数据。现在我想使用DOMPDF从该数据创建PDF输出。我使用了以下代码。
include_once '../dompdf_config.inc.php';
mysql_connect('localhost',"iacc","123");
mysql_select_db("iacc");
$result=mysql_fetch_array(mysql_query("SELECT * FROM revenue"));
$value= mysql_fetch_assoc($result);
$date=date("Y/m/d");
$html = '
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style>
@font-face {
font-family: FM-Malithi;
font-style: normal;
font-weight: 400;
src: url(../font/FM-Malithi.ttf) format("true-type");
}
</style>
</head>
<body>
<table border = "3" >
<tr>
<td bgcolor="#FFCCFF" width="8%" class="fs" scope="col">කාර්යාලය</td>
<td bgcolor="#FFCCFF" width="8%" class="fs" scope="col">මුදල</td>
</tr>
<tr>
<td><input type="text" name="office" value="'.$value['office'].'" style="font-family: FM-Malithi, sans-serif;" /></td>
<td><input type="text" name="amount" value="'.$value['amount'].'" style="font-family: FM-Malithi, sans-serif;" /></td>
</tr>
</table>
</body>
</html>
';
$dompdf = new DOMPDF();
$dompdf->load_html($html,'UTF-8');
$dompdf->render();
$dompdf->stream("dompdf_out.pdf", array("Attachment" => false));
答案 0 :(得分:1)
utf8变成'?????'
可能发生的事情:
SET NAMES latin1
生效(默认,但错误)CHARACTER SET latin1
(默认,但错误)需要在大约4个地方建立utf8。
SHOW CREATE TABLE
验证它们是显式设置为utf8还是默认为表定义。 (仅更改数据库默认是不够的。)SET NAMES utf8
。<meta>
标记。不要使用mysql_
界面;使用mysqli_
。
(我不知道DOMPDF;那里可能有设置。)
如果මුදල
显示为මුදල
,那么您将拥有“Mojibake”
表中的HEX应为E0B6B8E0B794E0B6AFE0B6BD
。