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ランキング
-
TEXTAREAに入力したタグイメー...
-
文字化けについて
-
onedrive にexcelファイルをア...
-
PHPで新しいウインドウで開く命...
-
フォントの色を変えるには?
-
PHP8を使うと、大量のWarningが...
-
ImageCreate関数が undefined f...
-
PHP4対応のサーバーではinclude...
-
現在位置より2つ上のディレク...
-
<HTML>~入る タグ が無いから ...
-
これの対応OSを教えて下さい。p...
-
3つ以上の論理積は利用可能なの...
-
PHPからMSSQLへの接続結果の文...
-
CFileDialogの最初のディレクト...
-
PHP MySql ページング
-
form actionで二つ送信先を指定...
-
VBAでJPGサイズ変更
-
拡張子php画像をjpg画像等に変...
-
PHPのif文でその処理を途中で抜...
-
エラーが出て困っています
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlのエラーについて(デバッグ)
-
php ログイン
-
文字化けについて
-
日付と年月日を選択するコード...
-
PHP postgreSQL(teraterm)を用...
-
前後の全角スペースを削除する...
-
ここでの ②if($su_d<>"")の比較...
-
PHP(smarty)についての質問(文...
-
複数の文字列をファイルに書き...
-
phpの画面表示が真っ白です
-
機種依存文字の文字化けについて
-
XAMPP1.7.1上でPHPを実行すると...
-
ローカル環境で動くのに本番環...
-
文字コードの出力を変更したい
-
XMLパースエラー回避方法
-
どうしたら確認ができますか!?
-
phpでfopen()やfputs()が使えない
-
zampp PHPでPOSTの変数が返っ...
-
pdf表示
-
ファイルをアップロードすると...
おすすめ情報