日期:2014-05-17  浏览次数:20594 次

php用openoffice转换csv为pdf乱码,请问怎么解决?
打开openoffice选好编码,能完成转换,没有乱码,但是用php就是乱码了,初步确定是没设置编码,请问在php中如何设置编码,php代码如下....

PHP code
<?php  
set_time_limit(0);
function MakePropertyValue($name,$value,$osm){
    $oStruct = $osm->Bridge_GetStruct("com.sun.star.beans.PropertyValue");
    $oStruct->Name = $name;
    $oStruct->Value = $value;
    return $oStruct;
}
function word2pdf($doc_url, $output_url){
    $fdoc_url = "file:///" . $doc_url;
    $foutput_url = "file:///" . $output_url;
    $osm = new COM("com.sun.star.ServiceManager") or die ("Please be sure that OpenOffice.org is installed.n");  
    $args = array(MakePropertyValue("Hidden",true,$osm));
    $oDesktop = $osm->createInstance("com.sun.star.frame.Desktop");
    $oWriterDoc = $oDesktop->loadComponentFromURL($fdoc_url,"_blank", 0, $args);
    $export_args = array(MakePropertyValue("FilterName","writer_pdf_Export",$osm));
    $oWriterDoc->storeToURL($foutput_url,$export_args);
    $oWriterDoc->close(true);
}
$output_dir = "F:/ComsenzEXP/wwwroot/";
$doc_file = "F:/ComsenzEXP/wwwroot/11.csv";
$pdf_file = "513.pdf";
$output_file = $output_dir . $pdf_file;
if(!file_exists($output_file)){
word2pdf($doc_file,$output_file);
}
?> 


------解决方案--------------------
你不是 COM 吗?那你看看 com.sun.star.ServiceManager 是否提供了设置编码的方法就是了