MySQL Unicode Sinhala数据到DOMPDF

时间:2015-12-16 06:29:56

标签: php mysql unicode

我有一个名为"收入"的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));
  1. 但是它会回归??????对于Unicode sinhala字段。我无法理解我的错误。谁能帮我。 TNX。

1 个答案:

答案 0 :(得分:1)

utf8变成'?????'

可能发生的事情:

  • 你有utf8编码的数据(好)
  • SET NAMES latin1生效(默认,但错误)
  • 该列已声明CHARACTER SET latin1(默认,但错误)

需要在大约4个地方建立utf8。

  • 数据库中的列 - 使用SHOW CREATE TABLE验证它们是显式设置为utf8还是默认为表定义。 (仅更改数据库默认是不够的。)
  • 客户端和服务器之间的连接。请参阅SET NAMES utf8
  • 您拥有的字节数。 (情况可能就是这样。)
  • 如果要在网页中显示文字,请检查<meta>标记。

不要使用mysql_界面;使用mysqli_

(我不知道DOMPDF;那里可能有设置。)

如果මුදල显示为මුදල,那么您将拥有“Mojibake” 表中的HEX应为E0B6B8E0B794E0B6AFE0B6BD