PHP 5.4、CakePHP 2.2.3 を使用してアプリケーションを開発しています。問題は、ローカル サーバー (XAMPP) ではこのエラーが発生しないことです (PHP 5.4)。
しかし、私のサーバーオンラインでは、そうです(PHP 5.3)。
エラーは、リンク内の少し奇妙な文字です。
ここ:sgc/noticias/�avascript:void(0)
奇妙な文字のほとんどは、データベースから取得されたデータです。
link
これは、のメソッドを使用した場合にのみ発生しHtmlHelper
ます。たとえば、これをエコーすると、次のようになります。
echo $this->Html->link('Click me', '/pages/home', array('class' => 'button', 'target' => '_blank'));
私はこれを得る:
画像でわかるように:/sgc/index/�pages/home
これをエコーする場合:
<a href="/sgc/index/pages/home" >Click me</a>
私はこれを得る:/sgc/index/pages/home
これをエコーする場合:
echo $this->Html->link('Click me',array('controller'=>'pages', 'action' => 'view'), array('class' => 'button', 'target' => '_blank'));
私はこれを得る:/sgc/pages/view
この問題はエンコーディングの問題のようなものである可能性があることを読みましたが、すべてのファイルが UTF8 (BOM なし) でエンコードされていることはほぼ 100% 確信しています。
%EF%BB%BF というキャラクターのようです。
また、エラー ログを見ると、次のように表示されます。
2012-11-21 15:37:05 Error: [MissingActionException] Action IndexController::�index() could not be found.
この問題は、CakePHP のバージョンや CakePHP lib のファイルに関連しているとは思いません。なぜなら、何も変更せずに新しい CakePHP アプリケーション (単純な CakePHP アプリ) をアップロードしただけで、オンライン サーバーですべて正常に動作するからです。
エラーは CakePHP ではなく、私のファイルの一部にあるはずです。
アップデート
この回答に従い、Total Commander を使用してプロジェクト内の UTF BOM ファイルを検索しました。しかし、結果は、「EF BB BF」の検索で画像のみが返されます。