壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

查看: 5983|回复: 9

PDF报表中文都是乱码

[复制链接]
发表于 2007/8/30 10:37:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
我用系统内置的“报表生成工具”(Report and Form Builder)制作了一张报表,但中文全是乱码。但是导出到CSV的中文显示正常。

系统本身自带的报表,中文显示正常。
screenshot.png
     
发表于 2007/9/1 16:17:01 | 显示全部楼层
论坛有问题,我已经更新了二次开发版的附件,您可以现在去下载。
发表于 2007/9/8 12:03:38 | 显示全部楼层
没发现 :L
发表于 2007/9/12 15:10:08 | 显示全部楼层
我也遇到这个问题,有解决的方法吗?
发表于 2007/9/12 15:26:38 | 显示全部楼层

weberp中文打印

文章来自 http://leokan.blogchina.com/blog/6021016.html

关键词weberp    fpdf                                          
這段時間在研究weberp,開源系統,php+mysql+apache,支持簡體,繁體,日文,韓文,界面很友好,只是在打印的時候會亂碼,我搞了好久終於找到原因可能是老外寫的吧,把簡體和繁體混為一談了,在這個系統中,打印是由fpdf1.52完成,造成亂碼的文件是class.pdf.php
節遷代碼如下:
define('FPDF_FONTPATH','./fonts/');
include ('fpdf.php');

if ($_SESSION['Language']=='zh_CN'){
include('FPDF_Chinese.php');
} elseif ($_SESSION['Language']=='ja_JP'){
include('FPDF_Japanese.php');
}elseif ($_SESSION['Language']=='ko_KR'){
include('FPDF_Korean.php');
} else {
class PDF_Language extends FPDF {
}
}

class Cpdf extends PDF_Language {

function Cpdf($pageSize=array(0,0,612,792)) {

$this->PDF_Language( 'P', 'pt',array($pageSize[2]-$pageSize[0],$pageSize[3]-$pageSize[1]));
$this->setAutoPageBreak(0);
$this->AddPage();
$this->SetLineWidth(1);
$this->cMargin = 0;

// Next three lines should be here for any fonts genarted with 'makefont' utility
if ($_SESSION['Language']=='zh_CN'){
$this->AddBig5Font();
}elseif ($_SESSION['Language']=='ja_JP'){
$this->AddSJISFont();
}elseif ($_SESSION['Language']=='ko_KR'){
$this->AddUHCFont();
} else {
$this->AddFont('helvetica');
$this->AddFont('helvetica','I');
$this->AddFont('helvetica','B');
}
}

function selectFont($FontName) {

$type = '';
if(strpos($FontName, 'Oblique')) {
$type = 'I';
}
if(strpos($FontName, 'Bold')) {
$type = 'B';
}
if ($_SESSION['Language']=='zh_CN'){
$FontName = 'Big5';
} elseif ($_SESSION['Language']=='ja_JP'){
$FontName = 'SJIS';
} elseif ($_SESSION['Language']=='ko_KR'){
$FontName = 'UHC';
} else {
$FontName ='helvetica';
}
$this->SetFont($FontName, $type);
}
很顯然,當$_SESSION['Language']=='zh_CN'時,應為GB,而不是BIG5,只有當$_SESSION['Language']=='zh_HK'才應該是addbig5font以及$FontName='Big5',更改的代碼如下
define('FPDF_FONTPATH','./fonts/');
include ('fpdf.php');

if (($_SESSION['Language']=='zh_HK') or ($_SESSION['Language']=='zh_CN')){
include('FPDF_Chinese.php');
} elseif ($_SESSION['Language']=='ja_JP'){
include('FPDF_Japanese.php');
}elseif ($_SESSION['Language']=='ko_KR'){
include('FPDF_Korean.php');
} else {
class PDF_Language extends FPDF {
}
}

class Cpdf extends PDF_Language {

function Cpdf($pageSize=array(0,0,612,792)) {

$this->PDF_Language( 'P', 'pt',array($pageSize[2]-$pageSize[0],$pageSize[3]-$pageSize[1]));
$this->setAutoPageBreak(0);
$this->AddPage();
$this->SetLineWidth(1);
$this->cMargin = 0;

// Next three lines should be here for any fonts genarted with 'makefont' utility
if ($_SESSION['Language']=='zh_HK'){
$this->AddBig5Font();
}elseif ($_SESSION['Language']=='zh_CN'){
$this->AddGBFont();
}elseif ($_SESSION['Language']=='ja_JP'){
$this->AddSJISFont();
}elseif ($_SESSION['Language']=='ko_KR'){
$this->AddUHCFont();
} else {
$this->AddFont('helvetica');
$this->AddFont('helvetica','I');
$this->AddFont('helvetica','B');
}
}

function selectFont($FontName) {

$type = '';
if(strpos($FontName, 'Oblique')) {
$type = 'I';
}
if(strpos($FontName, 'Bold')) {
$type = 'B';
}
if ($_SESSION['Language']=='zh_HK'){
$FontName = 'Big5';
}elseif ($_SESSION['Language']=='zh_CN'){
$FontName = 'GB';
} elseif ($_SESSION['Language']=='ja_JP'){
$FontName = 'SJIS';
} elseif ($_SESSION['Language']=='ko_KR'){
$FontName = 'UHC';
} else {
$FontName ='helvetica';
}
$this->SetFont($FontName, $type);
}
這樣就不會有亂碼了
     
发表于 2007/9/12 22:42:22 | 显示全部楼层
是的,就是这个原因。
发表于 2009/3/28 13:32:33 | 显示全部楼层
谢谢5搂得解答!
发表于 2009/5/9 22:26:26 | 显示全部楼层
这个很重要,要标记起来,重要、重要!
发表于 2011/9/16 18:06:09 | 显示全部楼层
这个真的很重要,谢谢
     
发表于 2013/1/23 13:53:10 | 显示全部楼层
刚好遇到这个问题,居然一下就找到答案了,太感谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|壹佰网 ERP100 ( 京ICP备12025635号 京ICP证120590号 )  

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表