[PHP-users 14187] Spreadsheet_WriteExcelで日本語が文字化け
HAYASHI,Akiyoshi
php-users@php.gr.jp
2003年 3月 23日 (日) 06:47:59 JST
林です。
こんにちは。
PostgreSQLのデータをExcelで帳票出力させるアプリを作成していますが、
文字化けしてしまい悩んでいます。
過去のMLの記事を参考に
http://phpclasses.psbweb.com/browse.html/package/767.html
からSpreadsheet_WriteExcelをダウンロードしてhtdocsに置いて、
Excelファイルが生成・表示されるところまではうまくいったのですが、
試しに日本語を入れると、文字化けしてしまいます。
(英語は当然正常に表示されます)
スクリプトはEUCで書いていますので、mb_convert_encoding()
でSJISに変換してみましたが、ダメでした。
他の文字コード種も手当たり次第変えてみましたがやっぱり
字数が変わるだけで文字化けには違いありません。
何がダメなんでしょうか?
どなたかよろしくお願いします。
★使用したスクリプト
require_once('Worksheet.php');
require_once('Workbook.php');
function HeaderingExcel($filename) {
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=$filename" );
header("Expires: 0");
header("Cache-Control: must-revalidate,
post-check=0,pre-check=0");
header("Pragma: public");
}
// HTTP headers
HeaderingExcel('test.xls');
// Creating a workbook
$workbook = new Workbook("-");
// Creating the first worksheet
$worksheet1 =& $workbook->add_worksheet('First One');
//★この項目が文字化けしてしまいます★
$worksheet1->write_string(0, 0, mb_convert_encoding("日本語テスト
","SJIS"));
$workbook->close();
--
林 昭良
akih@se.starcat.ne.jp
PHP-users メーリングリストの案内