電子書籍の厳選無料作品が豊富!

こんにちは。
FPDF+Japanese.php+FPDIを使用して、既存のPDFファイルに
日本語を追加してブラウザ上で表示させようとしています。

コードを記述して、自分のPCのローカル上で動作確認をするとしっかり表示されました。
そして、レンタルしているサーバー上にアップして、確認をするとうまく表示されませんでした。
どこが悪いのかわからないので、とりあえず、コードをよりシンプルにして、
「既存のファイルに」というところはまずは省いて、単純にPDFファイルを作成して、
表示させようとしてみましたが、同じくうまくいきません。
その後、ネットでいろいろ検索したのですが、解決には至りません。

どなたか助けて下さい。

<ソースコード:文字コードはUTF-8です>
<?php
require('../php/fpdf/japanese.php');

$pdf=new PDF_Japanese();
$pdf->AddSJISFont();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('SJIS', '', 20);
$txt = mb_convert_encoding("こんにちはFPDF", "SJIS", "UTF8");
$pdf->Write(10, $txt);
$pdf->Output();
?>

<環境>
自宅:
Windows Vista
Apache 2.0
PHP Version 5.2.6

レンタルサーバー:
Linux
Apache
PHP Version 5.2.5

<レンタルサーバー上での表示>
%PDF-1.3 3 0 obj <> endobj 4 0 obj <> stream x・R鞨2ミ35W(輦 Qミw3T02ミ30P ISp ・Z*麓 ・・└(h4ml晴tイiモYキ

<やってみたこと>
的外れなことをやってるかもしれないので、恥ずかしいのですが…
・「session.auto_start = 0」「mbstring.func_overload = 0」と記述したphp.iniをサーバー上にアップしてみた。

・ソースコードに「mb_internal_encoding('EUC-JP');」を追加して、保存時にもEUCで保存してみた。

・FPDF.php内のOutput関数内に「Header('Pragma:');」を追加したり、「header("Cache-Control: public");」を追加してみたりした。

A 回答 (1件)

一行目の「<?php」 の前に、空白や改行などが入ってないですか?



レンタルサーバーの都合で1行目に
#!/usr/local/bin/php
とか書いてあるなら、ftp時にasciiモードを指定して、
改行コードを、UNIX(CRのみ)にする必要もあります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

レンタルサーバーの都合で余計なものが…ということで、ようやく気付きました。

忘れてました。xreaを利用してるんですが、無料なので広告が自動挿入されるんでした。

広告が挿入されないxフォルダにphpのソースファイルを入れたところ、無事に表示されました。

ありがとうございました。

お礼日時:2009/09/25 09:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!