pplog系バージョンアップ
pplog2 2.45
更新内容
1.文字コード変換部分の修正
1.について
一部の文字について、うまく文字コードを取れないために、文字化けを起こしてしまうことがあるのでその対応版です。
更新方法
::pplog::
・pplog.phpを上書き
・pplogfunc.phpを上書き
::pplog2::
・index.phpを上書き
・pplog2func.phpを上書き
php4.3.11を使っている方で、ページが真っ白になってしまう場合は、
pplog(2)func.phpを開いて、function convert内の
if (function_exists('mb_convert_encoding')) {
$code = mb_detect_encoding($str,"auto");
$inc = mb_internal_encoding();
if ($code != $inc) {
$code = $inc;
}
$str = mb_convert_encoding($str, "SJIS" , $code);
$str = mb_convert_kana($str, "K");
} elseif (function_exists('JcodeConvert')) {
$str = JcodeConvert($str, 0, 2);
$str = HANtoZEN_SJIS($str);
}
を
#if (function_exists('mb_convert_encoding')) {
# $code = mb_detect_encoding($str,"auto");
# $inc = mb_internal_encoding();
# if ($code != $inc) {
# $code = $inc;
# }
# $str = mb_convert_encoding($str, "SJIS" , $code);
# $str = mb_convert_kana($str, "K");
#} elseif (function_exists('JcodeConvert')) {
$str = JcodeConvert($str, 0, 2);
$str = HANtoZEN_SJIS($str);
#}
という風に変えてください。
内容的には、取得文字コードと内部エンコードが異なった場合、
内部エンコードを優先にする方法を取っています。
ただし、真っ白になってしまった場合は、、前のバージョンと処理に違いが無いために
また化けます。。。
その場合は、
$str = JcodeConvert($str, 0, 2)
の0の部分をお使いのサーバの内部エンコードと同じものにしてください。
内部エンコードがどの数字になるかは、jcode.phpを開いてください。
そこに記載されています。(0はautoです。)