http://www.netmania.jp/で配布されているPHPウェブログシステム2をサーバーで運用しようとしたのですが、ログ出力がShift-JISになっていたので、EUCに変えたいと思って、ソースを見てもさっぱり解りませんでした。
mb_convert_encoding等を検索してみても見つからないし、お手上げです。
どなたかご教授下さいませんか?
No.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<-------
仰るとおり、PHP版のjcodeがキモみたいでした。
全て、変更したらログをEUCで吐き出してくれました。
どうもありがとうございました。
No.1
- 回答日時:
使用していませんし、スクリプトファイルを少し見ただけなので正確な解答が出来ないので参考程度という事で、「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<-------
ご指摘にありましたが、XML宣言やMETA情報は当然EUC-JPに書き換えました。
問題なのは、スクリプトが吐き出すログなのです。
これがShift-Jisのようで、表示の際に文字コードが混在してしまうのです。
HTML部分をShift-Jisにすれば良いと言ってしまえばそれまでなのですが・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- PostgreSQL PostgressからMySQL(MariaDB)へ構造を変更する際のTimestamp等について 2 2023/04/04 12:09
- その他(プログラミング・Web制作) sedの動作 2 2022/10/10 13:38
- Visual Basic(VBA) 【VBA】特定の文字で改行(次の行)に行きたい。 3 2022/04/11 17:20
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- PHP PHP ページング データベース 1 2022/06/16 10:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字化けについて
-
phpでfopen()やfputs()が使えない
-
htmlのエラーについて(デバッグ)
-
日付と年月日を選択するコード...
-
いいかげんxamppなんとかしたい...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
<大至急!>ご教授願います。
-
メレンゲの歴史
-
PHPのif文でその処理を途中で抜...
-
VBSの「MsgBox」について
-
こちらはただの直列処理ですか?
-
トランザクションが原因?DBに...
-
リンク先を隠す方法はないでし...
-
FTPコマンドでディレクトリごと...
-
CFileDialogの最初のディレクト...
-
PHPでネットワークドライブのop...
-
smartyでホームページ上の画像...
-
コマンドプロンプト エラー
-
図に示す階層構造で,現在のデ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlのエラーについて(デバッグ)
-
php ログイン
-
文字化けについて
-
日付と年月日を選択するコード...
-
PHP postgreSQL(teraterm)を用...
-
前後の全角スペースを削除する...
-
ここでの ②if($su_d<>"")の比較...
-
複数の文字列をファイルに書き...
-
PHP(smarty)についての質問(文...
-
phpの画面表示が真っ白です
-
機種依存文字の文字化けについて
-
ローカル環境で動くのに本番環...
-
XAMPP1.7.1上でPHPを実行すると...
-
文字コードの出力を変更したい
-
XMLパースエラー回避方法
-
どうしたら確認ができますか!?
-
phpでfopen()やfputs()が使えない
-
pdf表示
-
ファイルをアップロードすると...
-
zampp PHPでPOSTの変数が返っ...
おすすめ情報