• ベストアンサー

linuxでphpファイルが文字化け

はじめまして。 linux(FedoraCore3)にphpファイルをアップして会社内のWebツールを提供しています。今度、Webツールの改修の必要があるのですが、linux上のphpファイルが文字化けして編集することができません。 linux上でviエディタで開いた場合も、FFFTPでWindowsマシンに落としてからテキストエディタで開いた場合も、文字化けしています。 (FFFTPはアスキー転送/バイナリ転送の両方を試してみました。) (テキストエディタは秀丸とEmEditorでEUC/UTF-8/jisなど全文字コードを試してみました。) 文字化けは日本語の部分に限らず、全体的に化けています。 また、EmEditorで開くと「ファイルに含まれていたNull文字(00H)は、スペースに変換して開きます。」とメッセージが出ます。 linux上ではWebツールとして正常に動作するのに、エディタで開いたときだけ化けてしまうのは何故でしょうか? ファイル内の「00H」の文字がNull扱いされているのが原因なのかとは思うのですが具体的にどう対処すれば良いのかわかりません。 作成した前任者は退社しており、手詰まりになってしまいました。 推測の域でも結構ですので、何かアドバイスいただけますでしょうか。 乱文で申し訳ありませんがよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

linux上でそのファイルを file(1) コマンドにかけてみるとどうなりますか?   $ file foobar.php 根拠希薄な全くの想像ですが、コンパイルされたバイナリファイルなんじゃないかしらんと言う気がします。もしELFとかのバイナリなら、元のソースファイルを見付けなければどうしようもないかと思います。 ファイルの種類(内容)によって、ファイル名の最後の部分を決まった文字列にする慣習がありますが、必ずしもそれに従わなくても動作に支障がないことが多々あります。件のファイルをphpファイルだと思っているのは人間だけで、コンピュータは別の実行形式ファイルとしてみているかも知れません。 fileと言うコマンドは「おいらはこのファイルの種類はこれだと思うよぉ」と答えてくれるコマンドです。(たまに勘違いしてるくせに平気な顔していやがりますが。) 要点をハズシていたり、御存じのことでしたらごめんなさい。

kobarn2008
質問者

お礼

fileコマンドに掛けたところ「PHP script Zend Optimizer data」と表示され、どうやらZend Guardで暗号化された物のようです。 確かにテキストエディタに書けた際に、化けたように見えても「Zend」の文字列がありました。 元のソースファイルが無いので結局編集できないのですが、状況がわかって大変助かりました。 ありがとうございました。

その他の回答 (1)

noname#67980
noname#67980
回答No.1

バイナリエディタで開いてみて、 記述されている文字コードを確認するところから始められては?

kobarn2008
質問者

お礼

回答ありがとうございます。 バイナリで見てみましたが、「00H」が見つからず、どこがNullになっているかの判別もつきませんでした。

関連するQ&A

  • PHPファイル文字化けについて

    linux CentOS3(RedHat Enterprise3)を利用しています。 linuxは文字コードがEUCと認識しております。 そこでwindows上にてPHPファイルを作成、文字コードEUCにて保存し、 ffftpにてlinuxサーバにアップロードし、webページを参照してみました。 PHPファイルは以下の通りです。 <?php echo "こんにちは"; ?> 結果、InternetExplorerを利用し閲覧したところ文字化けにて表示されます。 文字コードは「UTF-8」が選択されています。 もちろん、文字コードを「EUC」に変更すると、 出力されてほしい文字列が表示されます。 これをInternetExplorerにて表示したとき、 文字化けしないような設定に変更したいと考えます。 どのような手順を踏めばよろしいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • 転送したファイルが必ず文字化けします!なぜかわかりますか?

    よろしくお願いします。 FFFTPツールで転送したファイルが完全に文化けします。  何回試しても文字化けをするします。  文字化けしたのをいったんエンコードで自動調整したら直りますが、更新するとすぐに文字化けします。  何か原因かわかりますでしょうか?  よろしくお願いします。

  • テキストエディターの文字化け

    素人の者です。 これまで、PHPのプログラムの書き込みをSJISで行ってきましたが、どうもネット上を調べているうちにSJISはあまり使わないほうが良いようなことが書いてあったので、UTF-8で書くことにしようと思いました。そして、UTF-8で書いていてWEB上は特に問題なく文字化けもせず表示されるのですが、テキストエディターで再度ファイルを開くと、テキストエディター内で文字化けしていることがあります。メモ帳で開くときはファイルの文字コートをUTF-8に指定すれば文字化けしません。サクラエディターで開けば、何もしなくても文字化けしません。php_editor_stdで開けば、文字化けします。ez-HTMLで開けば、文字化けします。???とこんな具合です。テキストエディターを開くときにエンコードを指定して開けば、文字化けはしないであろうと考えて、設定の部分を色々と探していじってみても、文字化けの現象は変わりません。SJISですと、ダメ文字とかあるのでやはり切り替えていったほうが良いと思い試している最中です。テキストエディターで文字化けした場合、どのようにすれば解消するのかお分かりになる方がおりました教えていただけないでしょうか。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • wordpressで特定のテンプレートが文字化け

    phpファイルをサクラエディタで編集してFFFTPでアップロードしているのですが、作業中にいきなりブラウザ上で文字化けしました。 現状↓ ・サクラエディタを使用してUTF-8で作成したfront-page.phpに記載されているテキストがブラウザ上で文字化けしている(footer.phpやほかのページの文字には影響は見られない)。 ・PC上で見ても携帯で見ても文字化けを確認 ・直前の作業をctrl+zで戻して再アップロードしても直らず。 ・get_fieldを使用して取得&表示した文字列は文字化けしていない。 ・phpファイルは文字化けしていない ・サーバーはwpx 調べてみたのですが、解決方法がわからず・・・ 気づかないうちに文字コードを変更して保存してしまったとかあるんでしょうかorz 問題点の切り分け方法や解決方法がわかる方、教えてくださると助かります。

    • ベストアンサー
    • PHP
  • PHPをhtmlに読み込んだファイルが文字化けする

    お世話になります。 通常のHTMLファイルにWordPressを生成し、WPでブログを書いたファイル(/wp/index.php)を読み込んで、表示させたいと考えております。その件に関してはなんとか表示できるようになったのですが、私が作ったhtmlファイル(/wp/index.html)はShift-JISで、 WordPressが吐き出してるブログ(/wp/index.php)はUTF-8で文字コードが違うので、ブログ部分のみ文字化けが起こります。それで上記のように/wp/index.htmlのcharsetをShift-JISからUTF-8へ変更しました。 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> ところが「テキストコーディングエラー」とポップアップが起こりました。「設定したテキストエンコーディングで保存済みですが、テキスト中のcharset設定と一致していないので、ブラウザ等で表示すると文字化けする可能性があります」とのことです。その結果、今度はブログ部分がちゃんと表示され、HTMLで作成した部分は文字化けするようになりました。これはPHPの問題ではないかもしれませんが、原因がどうにも分かりません。もしかしたら初歩的な質問をしているかもしれませんが、よければ教えていただけないでしょうか。

    • ベストアンサー
    • PHP
  • テキストファイルが文字化けしててわからない。

    今WINDOWSXPとTURBOLINUX7.0のデュアルブートをしています。 WINDOWSXPの方のOSで書いたテキストファイルをLINUXの方のOSでこのテキストファイルを見ると文字化け見たいなものを起こしてます。逆にLINUXの方のOSで書いたテキストファイルをWINDOWSXPで見るとこれも文字化け見たいなものを起こしてます。どうかこれの回避方法はないのでしょうか?もしかして 無理なのでしょうか? LINUXを入れたのはつい最近で、まだ自分に勉強が足りのかもしれませんがよろしくお願いします。

  • ExcelからCSVファイルへの変換と文字化け

    エクセルからCSVファイルへの変換したときの文字化けに悩まされています。 たとえば、 千代田区大手町19-1 という住所がはいっているセルがあり、CSVに変換すると、 千代田区大手町19?1 となります。 エクセルで開いても、テキストエディタで開いても「-」が「?」に文字化けします。 エンコードの問題なのでしょうが、どうすれば文字化けが解消されるのか、わかりません。 エクセルはデフォルトではSJISで保存されるようなので、 UTF8で保存すれば、文字化けはなくなるのかもしれません。 ただ、 http://web-laboratories.com/excel-csv こちらのサイトにあるように、 [WEBオプション]をつかってUnicode[UTF-8]で保存しても、 テキストエディタで開きなおすと、SJISのままになっているようです。 文字化けをさせないCSVファイルへの保存のやり方を教えてください。

  • html + php 文字化けの問題【utf-8】

    文字化けが直りません。どうしたらいいでしょうか? phpとmysqlをつかってデータベース表示させるページなのですが、データベースの文字コードがutf-8なのでphpファイルの文字コードをeucからutf-8に変更しました。そうするとデータベースは正常に表示されるのですが、htmlの部分は全て「?」になってしまいます。 文字コードの変換はEmEditorで変更し、変化が見られなかったので、変換用のフリーソフトを使ってみましたが、やっぱり文字化けの状態です。どなたかご教授ください。お願いします。

    • 締切済み
    • PHP
  • HPが文字化けしてしまいました

    FFFTP転送ツールを使っています。誤ってミラーリングアップロードをしてしまい、HPを開くと文字化けしています。修正する方法を教えてください。よろしくお願い申し上げます。

  • emacsでの文字化け

    お世話になります。 Linuxでemacsを使って日本語の文章の編集をしていたのですが、 あるときその文書を開いてみると突然文字化けしていました。 codingはどうもUTF8ぽいのですが、emacsで開くと文字化けして読むことができません。 geditやlessだとちゃんと読めますし、webブラウザでもちゃんと読めています(文字コードはUTF8で) どうやったらemacsで元通り読むことができるのでしょうか? linuxはFedoraCore6を使用しています。

専門家に質問してみよう