アプリ版:「スタンプのみでお礼する」機能のリリースについて

http://www.netmania.jp/で配布されているPHPウェブログシステム2をサーバーで運用しようとしたのですが、ログ出力がShift-JISになっていたので、EUCに変えたいと思って、ソースを見てもさっぱり解りませんでした。
mb_convert_encoding等を検索してみても見つからないし、お手上げです。

どなたかご教授下さいませんか?

A 回答 (2件)

No.1でのPHP版のjcodeを使用している所の検索、サブディレクトリも検索対象にするのが抜けていたみたいです。



以下のようなJcodeConvert()を使用して文字コードをSHIFT-JISに変換している所をEUCに変換するようにすればいいのでは?

ちなみにログファイルへの書き込み処理は、「include\regist.php」内にありますね。

あと、TrackBackの送信のためSHIFT-JISからUTF-8に変換している所「$post_vals = JcodeConvert($post_vals,2,4);」があるので、これはEUCからUTF-8への変換にしたほうがいいかも。

-------8<-------8<-------8<-------8<-------8<-------
ptb.php(20): $val = JcodeConvert($val,0,2);
include\fix.php(238): $line = JcodeConvert($line,0,2);
include\regist.php(99): $line = JcodeConvert($line,0,2);
include\regist.php(182): $new_line = JcodeConvert($new_line,0,2);
include\regist.php(225): $line = JcodeConvert($line,0,2);
include\regist.php(282): $line = JcodeConvert($line,0,2);
include\system.php(44): $post_vals = JcodeConvert($post_vals,2,4);
include\system.php(400): $rdf_content = JcodeConvert($rdf_content,0,2);
include\system.php(428): $line = JcodeConvert($line,0,2);
include\system.php(460): $lines[0] = JcodeConvert($lines[0],0,2);
-------8<-------8<-------8<-------8<-------8<-------
    • good
    • 0
この回答へのお礼

仰るとおり、PHP版のjcodeがキモみたいでした。
全て、変更したらログをEUCで吐き出してくれました。

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

お礼日時:2005/05/25 03:33

使用していませんし、スクリプトファイルを少し見ただけなので正確な解答が出来ないので参考程度という事で、「shift_jis」で検索(grep)を実行したら以下の通りあります。



検索結果の1つ目が設定ファイルconf.phpでの「文字コード」の設定のようです。
文字コードをECUにするのでしたら、これらもEUCに変えたほうがいいのではないかと思います。

-------8<-------8<-------8<-------8<-------8<-------
conf.php(89): $code = 'Shift_JIS';
conf.php(141): <?xml version="1.0" encoding="shift_jis"?>
ptb.php(39): <?xml version="1.0" encoding="shift_jis"?>
ptb.php(121): <?xml version="1.0" encoding="shift_jis"?>
image\index.html(4): <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
include\index.html(4): <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
jcode\index.html(4): <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
tmp\index.html(4): <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
tmp\tmp3.html(4): <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
tmp\tmp4.html(4): <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
tmp\tmp5.html(4): <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
tmp\top.html(4): <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
-------8<-------8<-------8<-------8<-------8<-------

>mb_convert_encoding等を検索してみても見つからないし、お手上げです。

PHP版のjcodeを使用しているようです。
実際に使用しているのは、以下の箇所でShift-JISに文字コードを変換しているようです。

-------8<-------8<-------8<-------8<-------8<-------
ptb.php(20): $val = JcodeConvert($val,0,2);
-------8<-------8<-------8<-------8<-------8<-------
 
    • good
    • 0
この回答へのお礼

ご指摘にありましたが、XML宣言やMETA情報は当然EUC-JPに書き換えました。
問題なのは、スクリプトが吐き出すログなのです。
これがShift-Jisのようで、表示の際に文字コードが混在してしまうのです。
HTML部分をShift-Jisにすれば良いと言ってしまえばそれまでなのですが・・・

お礼日時:2005/05/22 01:51

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