phpCollabの日本語が文字化け
phpCollabは最初からマルチ言語対応なので、ある程度は日本語化されています。
ところが、だれかにタスクを割り当てたり、タスクの設定を変更すると送信されるメールの内容、見出しが文字化けしていたり、ガントチャートの表示が文字化けしています。
メールのSubjectが文字化けするのは、文字コードが原因、jpGraphが文字化けするのは、表示するために使用しているフォントが原因 |
以下にそれぞれの対処方法の概要を紹介します。ある程度プログラムの知識が必要になりますが、がんばって対応してください。
classs.phpmailer.phpを編集して見出しと本文をISO-2022-JPに変換するようにする
見出しが化ける問題を解決するには、/Applications/xampp/htdocs/phpcollab/includes/phpmailer/class.phpmailer.php を開き指摘箇所を編集・追加してください。
・36行目「var $CharSet = "iso-8859-1";」を「var $CharSet = "iso-2022-jp";」に変更
var $CharSet = "iso-2022-jp"; | $body = mb_convert_encoding($body,"ISO-2022-JP","auto"); |
$str = mb_convert_encoding($str,"ISO-2022-JP","auto"); $str = mb_encode_mimeheader($str,"ISO-2022-JP","B"); |
DEFINE("MBTTF_DIR"……の先頭の//を削除し、パスを/Applications/xampp/htdocs/phpcollab/includes/fonts/に置き換えます |
6./Applications/xampp/htdocs/phpcollab/tasks/graphtasks.php を開き、以下の対応をします。
-$graph->title->SetFont(FF_FONT1); のように 「->SetFont()」のあるFF_FONT1またはFF_FONT0 をすべて「FF_PGOTHIC」に書き換え
-25行目「$graph->title->SetFont(FF_PGOTHIC);」となっている次の行に以下の行を挿入
-45行目付近「$activity->caption->Set($listTasks->tas_mem_login[$i]." (".$printProgress."%)");」の次の行に以下の2行を挿入
$activity->title->SetFont(FF_PGOTHIC);
文字化けが解消され、日本語で表示できました |
phpCollabのgraph~ファイルをすべて改造
……タスク画面でうまくいったのを確認したら、前述の項目 6. と同じような修正をphpcollab以下にある「graph」が先頭に付くファイルすべてに適用します。
※(もっとスマートな方法があったらぜひおしえてください)
とりあえず、phpcollabフォルダ以下を検索すればすぐ見つかります。7個ほどの対応です |
補足)文字化けについては、ほかにもエクスポートで作成されるPDFが文字化けしているという点もありますが、これに対応するには作業量が多すぎるので、省略します。
(……というか私ではわかりません。どなたかFPDFに置き換えをお願いします)
最後に注意事項
もうお気づきかもしれませんが、これまでの手順ではアクセス権などをまったく無視していますので、インターネット上で公開するにはリスクが大きすぎます。
セキュリティを万全にするためには、rootにパスワードを設定したり、セットアップで使用したファイルを削除したり、いろんな箇所にアクセス権を設定したりする必要がありますので、十分注意してサーバー運用してください。
【関連情報】
・アップル - Mac OS X
・XAMPP
・MAMP(XAMPPは難しい…というひとに…でもうまく動かない部分がある……)
・phpCollab
・jpGraph(アシアル株式会社)
・jpGraph - Gantt Manual(jpGraphは簡単にカスタマイズできます!)
・Mac OS X情報(from All About)