バージョン選択

フォーラム

メニュー

オンライン状況

184 人のユーザが現在オンラインです。 (174 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 183
u888legal もっと...

サイト内検索

質問 > その他 > 帳票の文字化けで困っています。

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
world
投稿日時: 2012/3/8 19:29
対応状況: −−−
新米
登録日: 2012/3/7
居住地:
投稿: 9
帳票の文字化けで困っています。
帳票の文字化けで困っています。

http://svn.ec-cube.net/open_trac/changeset/21358

を参考に SC_Fpdf.php を作成し(ほとんど同じです。)
EC-CUBE管理より、帳票の作成をすると
PDFファイルに日本語の文字化けは発生してしまいます。

具体的には以下の通りです。

51行目からの

$this->arrMessage = array(
'このたびはお買上げいただきありがとうございます。',
'下記の内容にて納品させていただきます。',
'ご確認くださいますよう、お願いいたします。'

や、100行目からの //ショップ情報 などは問題なく
日本語で表示します。





PDFで文字化けするのは、まず46行目の

$this->label_cell[] = $this->lfConvSjis("商品名 / 商品コード / [ 規格 ]");
$this->label_cell[] = $this->lfConvSjis("数量");
$this->label_cell[] = $this->lfConvSjis("単価");
$this->label_cell[] = $this->lfConvSjis("金額(税込)");

です。日本語の部分(" ")の中がPDFだと

商品名 / 商品コード / [ 規格 ]   →   i/iR[h/[ Ki ]
数量                →   (空欄になる)
単価                →   P
金額(税込)             →   z()

という表示になります。


また、// 購入者情報  について146行目

$text = "〒 ".$this->arrDisp['order_zip01']." - ".$this->arrDisp['order_zip02'];

の= "〒 "、〒マークが表示しない。


151行目からの

$text = $this->arrDisp['order_name01']." ".$this->arrDisp['order_name02']." 様";
$this->lfText(27, 59, $text, 11); //購入者氏名

の" 様"; のところが  様  →   l と表示、
また購入者氏名にスペースを使うと、スペースを入れた部分が @ と表示されます。


他には、205行目からの

$i++;
$arrOrder[$i][0] = "";
$arrOrder[$i][1] = "";
$arrOrder[$i][2] = $this->lfConvSjis("商品合計");
$arrOrder[$i][3] = number_format($this->arrDisp['subtotal']).$monetary_unit;

$i++;
$arrOrder[$i][0] = "";
$arrOrder[$i][1] = "";
$arrOrder[$i][2] = $this->lfConvSjis("送料");
$arrOrder[$i][3] = number_format($this->arrDisp['deliv_fee']).$monetary_unit;

$i++;
$arrOrder[$i][0] = "";
$arrOrder[$i][1] = "";
$arrOrder[$i][2] = $this->lfConvSjis("手数料");
$arrOrder[$i][3] = number_format($this->arrDisp['charge']).$monetary_unit;

$i++;
$arrOrder[$i][0] = "";
$arrOrder[$i][1] = "";
$arrOrder[$i][2] = $this->lfConvSjis("値引き");
$arrOrder[$i][3] = "- ".number_format(($this->arrDisp['use_point'] * POINT_VALUE) + $this->arrDisp['discount']).$monetary_unit;

$i++;
$arrOrder[$i][0] = "";
$arrOrder[$i][1] = "";
$arrOrder[$i][2] = $this->lfConvSjis("請求金額");
$arrOrder[$i][3] = number_format($this->arrDisp['payment_total']).$monetary_unit;

に関しても日本語の lfConvSjis("○○");  の部分が

商品合計   →   iv
送料     →   空欄になります
手数料    →   l
請求金額   →   z

と表示されます。


勿論、金額や個数、送料、手数料など、それ自体の内容表示には問題ありませんが
何の金額なのか、合計なのかの表記(タイトル)としての表示がPDFで文字化けしている
という事です。

あとは、どこという訳ではなくPDFの表示で全ての
「円」という文字と「<備考>」という文字が

円     →   〜
<備考>  →   ]

と表示します。



問題は以上です。

長くなって大変申し訳ございません。
上に書き出した、それぞれに問題があるという訳でなく
その、("○○"); をどう出力するかを制御している部分の
問題かとは思います。


331行目からの

// 文字コードSJIS変換 -> japanese.phpで使用出来る文字コードはSJIS-winのみ
function lfConvSjis($conv_str) {
return mb_convert_encoding($conv_str, "SJIS-win", CHAR_CODE);
}

/**
* ゴシックフォントを定義
*
* @return void
*/
function lfAddGothicFont() {
$cw = $GLOBALS['SJIS_widths'];
$c_map = '90msp-RKSJ-H';
$registry = array('ordering'=>'Japan1','supplement'=>2);
$this->AddCIDFonts('Gothic', 'KozGoPro-Medium-Acro,MS-PGothic,Osaka', $cw, $c_map, $registry);
}

あたりが怪しいと思って試していたのですが
行き詰ってしまいました。

なにとぞ宜しくご指導頂きたくお願い申し上げます。
ゲスト
投稿日時: 2012/3/9 6:16
対応状況: −−−
Re: 帳票の文字化けで困っています。
SC_Fpdf.phpの文字コードを
SJISではなくUTF-8で保存してみてください。
world
投稿日時: 2012/3/9 12:17
対応状況: −−−
新米
登録日: 2012/3/7
居住地:
投稿: 9
解決しました。
返信いただきありがとうございました。

UTF-8で保存してみたところ
文字化け解消いたしました。

皆様、大変お世話になりました。
ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は90,231名です
総投稿数は110,340件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1688
8
red
1571
9
mcontact
1356
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.