*SkyBlueCanvasの日本語対応 [#fc097620]
エージェントソフトウェア(Windows版)に、文字コードで問題があるが、何とはなしに日本語っぽくできた部分だけ記載~
~
**言語ファイルの作成 [#k79d918a]
~/インストールディレクトリ/languages/配下に~
japanese.png:日本の国旗画像~
japanese.txt:日本語テキスト~
を作成
ちなみに、英語の言語ファイルをベースに日本語化中
ここで、日本語の言語ファイル作成時のポイント~
japanese.txtの1行目~
0 Shift_JIS
としてあります。~
エージェントが収集したクライアントPCの情報は、Windows標準の文字コードのため、Shift_JISで記録されています。~
文字化けせず(一部やはり化けていますが)に出力するためには、Shift_JISにしておくことが無難です。
**日本語表示時の不具合 [#z40881e6]
以下のファイルを修正~
/machine.php
942行目
//echo "<td align='center' width='100%'><b><font color='blue'>".strtoupper($text)."</font></b></td>";
echo "<td align='center' width='100%'><b><font color='blue'>".$text."</font></b></td>";
種別の一文字目を大文字に変換していますが、日本語でこれを行うと一部文字にて文字化けするので、削除
~
~
~
/machine.php
htmlentities -> htmlspecialchars
に全置換
~
~
~
日付形式が、yyyy/mm/ddでないので、修正~
この修正と同時に、japanese.txt内の下記修正
267 yyyy/mm/dd
269 %Y/%m/%d
/preferences.php
789行目近辺
function dateFromMysql($v) {
global $l;
if( $l->g(269) == "%m/%d/%Y" )
$ret = sprintf("%02d/%02d/%04d", $v[5].$v[6], $v[8].$v[9], $v);
// ここから追加
elseif( $l->g(269) == "%Y/%m/%d" )
$ret = sprintf("%04d/%02d/%02d", $v, $v[5].$v[6], $v[8].$v[9]);
// ここまで追加
else
$ret = sprintf("%02d/%02d/%04d", $v[8].$v[9], $v[5].$v[6], $v);
return $ret;
}
function dateTimeFromMysql($v) {
global $l;
if( $l->g(269) == "%m/%d/%Y" )
$ret = sprintf("%02d/%02d/%04d %02d:%02d:%02d", $v[5].$v[6], $v[8].$v[9], $v, $v[11].$v[12],$v[14].$v[15],$v[17].$v[18]);
// ここから追加
elseif( $l->g(269) == "%Y/%m/%d" )
$ret = sprintf("%04d/%02d/%02d", $v, $v[5].$v[6], $v[8].$v[9], $v[11].$v[12],$v[14].$v[15],$v[17].$v[18]);
// ここまで追加
else
$ret = sprintf("%02d/%02d/%04d %02d:%02d:%02d", $v[8].$v[9], $v[5].$v[6], $v, $v[11].$v[12],$v[14].$v[15],$v[17].$v[18]);
return $ret;
}