Board logo

¼ÐÃD: [Âà¶K] §Úªºweberp¹ê¾Ô¤â¥U¡]¥|¡^mysql, pdf ªº¤¤¤å¿é¥X---Unicode [¥´¦L¥»­¶]

§@ªÌ: admin    ®É¶¡: 2010-6-27 04:51     ¼ÐÃD: §Úªºweberp¹ê¾Ô¤â¥U¡]¥|¡^mysql, pdf ªº¤¤¤å¿é¥X---Unicode

这¯u¬O¤@¥ó¥O¤H§ì¨gªº¨Æ±¡¡Aªá¤F§Ú§Ö¤T¤Ñªº时间¡C ¦p¦ó¦bMysql©MPDF输¥X¤¤¤å¡A¦Ó¥B¬OÁc简Ê^¦}¦s¡C°µªk¦p¤U¡G

1: ­×§ï ./includes ©³¤Uªºheader.inc

   ²Ä10¦æ¡A­ì¥»ªºiso-xxxx§ï¦¨utf8
   header('Content-type: text/html; charset=' ._('utf8'));
   还¦³²Ä18¦æ¡A­ì¥»ªºiso-xxxx§ï¦¨utf8
   echo '<meta http-equiv="Content-Type"c#ff0000">utf8') . '">';
   这样©Ò¦³ªºÊI页³£¬Ouft8¤F

2:§âdatabase¨½­±filedªºCollation»Ý­n¥Î¨ì¤¤¤åªº统统§ï¦¨utf8_unicode_ci

  3¡G¦bConnectDB_mysql.inc²Ä14¦æ¥ª¥kªº  if (!mysql_select_db($_SESSION['DatabaseName'],$db))¡C¡C¡C¡C¡Cµ{§Ç区块ªº¦Z­±´¡¤J¥H¤U内®e¡G
mysql_query("set names utf8;");
这样¦bphpmyadmin¬Ý¨ìªº资®Æ´N¤£¬O乱码¤F¡C¥i¬O还¦³个问题°Ú¡C¡C¡C输¥XPDF还¬O乱码¡C¡C¡C

4:输¥XPDF¤¤¤å乱码¡AÊI¸ô¤W¬Ý¨ì«Ü¦h¸Ñ决¤è¦¡
    4.1:http://www.fpdf.org/phorum/read.php?f=1&i=5142&t=5142,FPDFªº论坛¡A内®e¤Ó¦h¡A¬Ý¨ì§Ú头©ü¡C¤]没§ä¨ì¸Ñ决¤è¦¡
     4.2:http://blog.cjcht.com/index.php/henry/2007/09/06/ampa_yc_sesppdf¡Achinese-unicode.php­n­×§ï¡A¦Ó¥Bclass¬O¤@个extends¤@个¡A¦³点Î`杂¡A¦Ó¥B说©ú±o¤£够详细¡C¤£过这¦ì¤¯¥S¦³个«Ø议«Ü¦n¡A¤Þ­z¦p¤U¡G

¡§«ØÄ³¨Ï¥ÎAddUniGBhwFont()¦Ó¤£­n¥ÎAddUniCNShwFont()¡C¦]¬°Â²Åé¦r«¬ùØ¥]§t¤FÁcÅé¦r«¬¡A¥ÎAddUniGBhwFont()²£¥ÍÁcÅ餤¤å¤º®eªºpdf¤å¥ó¤]¤£·|¦³°ÝÃD¡C¦pªG¥ÎAddUniCNShwFont()²£¥Í²Å餤¤å¤º®eªºpdf¤å¥ó¡AÁöµM¾\Ū¾¹¦w¸Ë¤F²Åé¦r«¬¡A¦ý¬O¾\Ū¾¹·|§â¥¦·í¦¨ÁcÅé¤å¥ó¡A¦Ó¨Ï¥ÎÁcÅé¦r«¬Åã¥Ü¡A³y¦¨¤@¨Ç²Åé¦rÅã¥Ü¤£¥X¨Ó¡C¡§
     4.3¡Ghttp://job.achi.idv.tw/?p=461,¦Z来¥Î¤F这个¤è¦¡¡A终¤_¥i¥H¤F¡C简单¦n¥Î¡A¥u­n两个档®×¡Aclass.pdf.php,FPDF_Chinese.php..¯u¬O¤Ó´Î¤F¡A¡A谢谢这¦ì¤¯¥S¡A°µªk¦p¤U¡G

   5: ¨ìhttp://job.achi.idv.tw/?p=461¡A¤U载includes.rar ¡C¸Ñ压缩¨ì./includes©³¤U¡A¡A¡AµM¦Z开©l来­×§ï

    5.1¡G¥´¶}class.pdf.php¡A§â²Ä21¦æªº if($_SESSION['Language'] =='zh_TW.UTF-8') ª`¸Ñ±¼¡A¡A这个¬O¦h§Eªº¡C

    5.2¡G¦b²Ä49¦æ ©M82 ¦æif($_SESSION['Language'] == 'zh_TW.UTF-8')§ï¦¨§Aµn¤J帐号ªºLanguage,,§Ú´N§ï¦¨¤Fif($_SESSION['Language']== 'zh_HK')

    5.3¡G§â55¦æªº$this->AddUniCNShwFont('uni');ª`¸Ñ§R±¼('uni')¡A©³¤U¥[¤@¦æ
      $this->AddUniGBhwFont('uni'); 这´N¬O¤W­±¨º¦ì¤¯¥S«Ø议ªº¡C¥Î简Ê^¦r«¬来显¥ÜÁc简Ê^¡C¡C¯uªº¦³®Ä®@¡C

    5.4¡G¦b²Ä327¦æ©M337¦æªº¦r§ÎAdobeSongStd-Light ¡A§ï¦¨AdobeSongStd-Light-Acro,,这样®æ¦¡¤~会¾ã齐¡A­^¤å¦r¤£会挤¦b¤@°_

       ¦pªG­n换¦r«¬¡A¥i¥H­×§ï©³¤U¤L个function,
        function AddUniCNShwFont
        function AddUniCNSFont
        function AddUniGBhwFont
        function AddUniGBFont

  ³Ü¯ù¥h¤F¡A²Ö¦º§Ú¤F¡C¦pªG¦³²¨º|¤§処¡A½Ð¤£§[½ç±Ð

   Part II

  ¦pªGClient ºÝ¬OUbuntu 7.10 Gnome¡A¥´开DF时¬O¤@¤ùªÅ¥Õ¡C¡C¸Ñ决¦p¤U¡G

  ¦bweberp¥´§¹PO,¨t统预设¥ÎEvince¥´开DF档¡A¤@¤ùªÅ¥Õ¡C应该¬O没¦³¦w装¤¤¤å¦r«¬.还¬O¦w装Acrobatreader¦n¤F¡C¥ÎSynaptic package manager¦w装¡C¤¤¤å¦r«¬­n¨ì这¨½来¤U载http://www.adobe.com/tw/products/acrobat/acrrasianfontpack.html¡AµM¦Zextract ¨ì/usr/lib/Adobe/Reader8/©³¤U¡C进¤J/usr/lib/Adobe/Reader8/CHSKIT,µM¦Z执¦æ sudo./INSTALL,¨t统会问§A Enter the location where you installed the AdobeReader[/opt] ¡A输¤J /usr/lib ´N¦w装¦n¤F¡AÁcÊ^©M¤é¤å¤]¬O这样°µªº

  ¦pªG¥ÎFirefox¥´开DF¡A¨t统会问§Aopenwith,´N选择others...µM¦Z选择 /usr/lib/Adobe/Reader8/bin/acroread-en§Y¥i

  ¬Ý¨ì¤¤¤å¤F§a¡A«¢«¢«¢«¢

Part III  ¥t¤@个乱码问题¡G
¦bmodify items detailªº时­Ô¡A发现art description (short) 变¦¨乱码¡A办ªk¦p¤U¡G

­×§ï Stocks.php ²Ä550¦æ
echo'<TR><TD>'. _('Part Description') . ' (' . _('short').'):</TD><TD><inputtype="Text" name="Description"SIZE=52 MAXLENGTH=50 value="'.htmlentities($_POST['Description'],ENT_QUOTES,_('ISO-8859-1')) .'"></TD></TR>';

将 ISO-8859-1 §ï¦¨ utf-8 ¡C ¤£µM¡A¦bmysql¯à¬Ý¨ì¤¤¤å¡A¨ì³o¨½会变乱码


参¦Ò资®Æ¡G
1:http://www.web745.com/article_html/2006/09/433.html
2:http://job.achi.idv.tw/?p=461
3:http://www.fpdf.org/phorum/read.php?f=1&i=5142&t=5142
4:http://blog.cjcht.com/index.php/henry/2007/09/06/ampa_yc_sesppdf
§@ªÌ: admin    ®É¶¡: 2010-6-28 01:41

³o¯u¬O¤@¥ó¥O¤H§ì¨gªº¨Æ±¡¡Aªá¤F§Ú§Ö¤T¤Ñªº®É¶¡¡C
¦p¦ó¦bMysql©MPDF¿é¥X¤¤¤å¡A¦Ó¥B¬OÁc²Åé¨Ã¦s¡C°µªk¦p¤U¡G


1:
­×§ï ./includes ©³¤Uªºheader.inc

   
²Ä10¦æ¡A­ì¥»ªºiso-xxxx§ï¦¨
utf8
   
header('Content-type: text/html; charset=' ._('utf8'));
   
ÁÙ¦³²Ä18¦æ¡A­ì¥»ªºiso-xxxx§ï¦¨utf8
   
echo '<meta http-equiv="Content-Type"c#ff0000">utf8
') . '">';
   
³o¼Ë©Ò¦³ªººô­¶³£¬Ouft8¤F


2:
§âdatabaseùØ­±filedªºCollation»Ý­n¥Î¨ì¤¤¤åªº²Î²Î§ï¦¨utf8_unicode_ci

  3
¡G¦bConnectDB_mysql.inc²Ä14¦æ¥ª¥kªº  if (!mysql_select_db($_SESSION['DatabaseName'],$db))¡C¡C¡C¡C¡Cµ{¦¡°Ï¶ôªº«á­±´¡¤J¥H¤U¤º®e¡G

mysql_query("set names utf8;");
³o¼Ë¦bphpmyadmin¬Ý¨ìªº¸ê®Æ´N¤£¬O¶Ã½X¤F¡C¥i¬OÁÙ¦³­Ó°ÝÃD°Ú¡C¡C¡C¿é¥XPDFÁÙ¬O¶Ã½X¡C¡C¡C

4:
¿é¥XPDF¤¤¤å¶Ã½X¡Aºô¸ô¤W¬Ý¨ì«Ü¦h¸Ñ¨M¤è¦¡
    4.1:
http://www.fpdf.org/phorum/read.php?f=1&i=5142&t=5142,FPDFªº½×¾Â¡A¤º®e¤Ó¦h¡A¬Ý¨ì§ÚÀY©ü¡C¤]¨S§ä¨ì¸Ñ¨M¤è¦¡
     4.2:
http://blog.cjcht.com/index.php/henry/2007/09/06/ampa_yc_sesppdf¡Achinese-unicode.php­n­×§ï¡A¦Ó¥Bclass¬O¤@­Óextends¤@­Ó¡A¦³ÂI½ÆÂø¡A¦Ó¥B»¡©ú±o¤£°÷¸Ô²Ó¡C¤£¹L³o¦ì¤¯¥S¦³­Ó«ØÄ³«Ü¦n¡A¤Þ­z¦p¤U¡G

¡§
«ØÄ³¨Ï¥ÎAddUniGBhwFont()¦Ó¤£­n¥ÎAddUniCNShwFont()¡C¦]¬°Â²Åé¦r«¬ùØ¥]§t¤FÁcÅé¦r«¬¡A¥ÎAddUniGBhwFont()²£¥ÍÁcÅ餤¤å¤º®eªºpdfÀɤ]¤£·|¦³°ÝÃD¡C¦pªG¥ÎAddUniCNShwFont()²£¥Í²Å餤¤å¤º®eªºpdfÀÉ¡AÁöµM¾\Ū¾¹¦w¸Ë¤F²Åé¦r«¬¡A¦ý¬O¾\Ū¾¹·|§â¥¦·í¦¨ÁcÅéÀÉ¡A¦Ó¨Ï¥ÎÁcÅé¦r«¬Åã¥Ü¡A³y¦¨¤@¨Ç²Åé¦rÅã¥Ü¤£¥X¨Ó¡C¡§
     4.3
¡Ghttp://job.achi.idv.tw/?p=461,«á¨Ó¥Î¤F³o­Ó¤è¦¡¡A²×©ó¥i¥H¤F¡C²³æ¦n¥Î¡A¥u­n¨â­ÓÀɮסAclass.pdf.php,FPDF_Chinese.php..¯u¬O¤Ó´Î¤F¡A¡AÁÂÁ³o¦ì¤¯¥S¡A°µªk¦p¤U¡G

   5:
¨ìhttp://job.achi.idv.tw/?p=461¡A¤U¸üincludes.rar
¡C¸ÑÀ£ÁY¨ì./includes©³¤U¡A¡A¡AµM«á¶}©l¨Ó­×§ï


    5.1
¡G¥´¶}class.pdf.php¡A§â²Ä21¦æªº if($_SESSION['Language'] =='zh_TW.UTF-8') ª`¸Ñ±¼¡A¡A³o­Ó¬O¦h¾lªº¡C

    5.2
¡G¦b²Ä49¦æ
©M82 ¦æ
if($_SESSION['Language'] == 'zh_TW.UTF-8')§ï¦¨§Aµn¤J±b¸¹ªºLanguage,,§Ú´N§ï¦¨¤Fif($_SESSION['Language']== 'zh_HK')

    5.3
¡G§â55¦æªº$this->AddUniCNShwFont('uni');ª`¸Ñ§R±¼('uni')¡A©³¤U¥[¤@¦æ
      
$this->AddUniGBhwFont('uni'); ³o´N¬O¤W­±¨º¦ì¤¯¥S«ØÄ³ªº¡C¥Î²Åé¦r«¬¨ÓÅã¥ÜÁc²Åé¡C¡C¯uªº¦³®Ä®@¡C

    5.4
¡G¦b²Ä327¦æ©M337¦æªº¦r§ÎAdobeSongStd-Light ¡A§ï¦¨AdobeSongStd-Light-Acro,,³o¼Ë®æ¦¡¤~·|¾ã»ô¡A­^¤å¦r¤£·|À½¦b¤@°_

      
¦pªG­n´«¦r«¬¡A¥i¥H­×§ï©³¤U´X­Ófunction,
        
function AddUniCNShwFont

        
function AddUniCNSFont
        
function AddUniGBhwFont
        
function AddUniGBFont

  
³Ü¯ù¥h¤F¡A²Ö¦º§Ú¤F¡C¦pªG¦³²¨º|¤§処¡A½Ð¤£§[½ç±Ð

   Part II

  
¦pªGClient ºÝ¬OUbuntu 7.10 Gnome¡A¥´¶}PDF®É¬O¤@¤ùªÅ¥Õ¡C¡C¸Ñ¨M¦p¤U¡G

  
¦bweberp¥´§¹PO,¨t²Î¹w³]¥ÎEvince¥´¶}PDFÀÉ¡A¤@¤ùªÅ¥Õ¡CÀ³¸Ó¬O¨S¦³¦w¸Ë¤¤¤å¦r«¬.ÁÙ¬O¦w¸ËAcrobatreader¦n¤F¡C¥ÎSynaptic package manager¦w¸Ë¡C¤¤¤å¦r«¬­n¨ì³oùبӤU¸ühttp://www.adobe.com/tw/products/acrobat/acrrasianfontpack.html¡AµM«áextract ¨ì/usr/lib/Adobe/Reader8/©³¤U¡C¶i¤J/usr/lib/Adobe/Reader8/CHSKIT,µM«á°õ¦æ sudo./INSTALL,¨t²Î·|°Ý§A Enter the location where you installed the AdobeReader[/opt] ¡A¿é¤J /usr/lib ´N¦w¸Ë¦n¤F¡AÁcÅé©M¤é¤å¤]¬O³o¼Ë°µªº

  
¦pªG¥ÎFirefox¥´¶}PDF¡A¨t²Î·|°Ý§Aopenwith,´N¿ï¾Üothers...µM«á¿ï¾Ü /usr/lib/Adobe/Reader8/bin/acroread-en§Y¥i

  
¬Ý¨ì¤¤¤å¤F§a¡A«¢«¢«¢«¢

Part III  
¥t¤@­Ó¶Ã½X°ÝÃD¡G
¦bmodify items detailªº®É­Ô¡Aµo²{Part description (short) Åܦ¨¶Ã½X¡A¿ìªk¦p¤U¡G
­×§ï Stocks.php ²Ä550¦æ
echo'<TR><TD>'. _('Part Description') . ' (' . _('short').'):</TD><TD><inputtype="Text" name="Description"SIZE=52 MAXLENGTH=50 value="'.htmlentities($_POST['Description'],ENT_QUOTES,_('ISO-8859-1')) .'"></TD></TR>';

±N ISO-8859-1 §ï¦¨ utf-8 ¡C
¤£µM¡A¦bmysql¯à¬Ý¨ì¤¤¤å¡A¨ì³oùØ·|ÅܶýX

°Ñ¦Ò¸ê®Æ¡G
1:http://www.web745.com/article_html/2006/09/433.html
2:
http://job.achi.idv.tw/?p=461
3:
http://www.fpdf.org/phorum/read.php?f=1&i=5142&t=5142
4:
http://blog.cjcht.com/index.php/henry/2007/09/06/ampa_yc_sesppdf




Åwªï¥úÁ{ ¨F¥Kºô (http://www.sas.tw/sas/) Powered by Discuz! 7.0.0