- 締切済み
Movable Typeでmt-check.cgi実行時に文字化けする
初めてのMovable Type3.121をレンタルサーバのロリポップに導入がうまくできたので、仕事に使っているLinux(Vine2.4)に導入しようとしています。文字コードについて調べてどうしてももわからなかったので、ご教授ください。 [状況] ・Linux側の文字コードがEUCだと思っていたので、秀丸で一度mt-check.cgiを開き、文字コードをEUC、改行コードをLFにして保存した ・mt-check.cgiをcgiが稼動できるディレクトリに保存 ・FFFTPにてアップロードし、一度viで開いて確認したところ、文字化けは見られない(正常にアップロードできているっぽい) ・Apacheのversionは、1.3.27 上記の状態で、mt-check.cgiを実行すると、大部分の文字列は正常に表示されるものの何箇所か文字化けが発生しました。 ブラウザで開いた状態でsourceファイルを表示させたところ、「日本語(EUC)で読み込み中に変換できなかった文字列が56箇所ありました」とのことでした。 アップロードする際にあてずっぽうにファイルの保存形式をutf-8やshift-jisにしてみたり、改行コードをCR+LFやLF,CRにしてみても改善しませんでした。何が原因で文字化けが発生しているのかわかりません。どなたかご助言いただきたくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
ブログは使ったことないので、良く分りませんが、私に思いつくことをいくつか。 1) Linuxにアップロードした後、コマンドラインで、 nkf -e -Lu mt-check.cgi > temp.cgi として、さらに、 mv temp.cgi mt-check.cgi (文字コードをEUCにし、改行をunix型式) としてみる。 2) Perlが古すぎる?Unicodeに完全に対応したのは Perl 5.8.1以降のようです。全てがEUCなら多分もんだいないとおもうのですが、一応。 3) PHPが古すぎる? なにやらちょっと調べたらPHP4以上が必要のようです。 Appacheのバージョンが1.3って、少しふるいので、 入っているPHPのバージョンも少々心配。 文字化けに関係するのかも不明です。 私に思いつくのはこれくらいですかね。 ぜんぜんへんなこと行ってたらすみません。
お礼
お礼が遅くなりましてすみません。 参考になりました。ありがとうございました。 Windowsに落としたファイルをLinuxに持っていくのではなくて、Linux上から直接必要なファイルを落として、展開してみることも試してみたいと思います。