0

WAMP を使用して、localhost で PHP コードを実行します。問題は、ローカルホストで「lÃ¥n」のような utf8 エラーが発生することです。ライブサーバーでは、疑わしいように「lån」が表示されます。

これまでに試したこと

  • サーバーとローカルホストのデータベーステーブルを次のように設定しますutf8_general_ci
  • サーバーとローカルホストのデータベース テーブル構造の行を次のように設定します。utf8_general_ci
  • utf castでファイルエンコーディングをチェックしました。それらはASCII/UTF-8, NO BOMサーバーとローカルホストの両方で設定されています
  • 強制的な PHP ヘッダーheader('Content-Type: text/html; charset=utf-8');
  • データベースにUTF8を強制しましたORM::configure('mysql:host=SECRET;dbname=SECRET;charset=utf8');
  • ひょんなことから追加さORM::configure('driver_options', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));れた

より詳しい情報

  • phpmyadminを使用すると、データベース内のデータは同じです。差分ツールも使用しました。
  • データは出力で同一ではありません。なぜだめですか?何をすべきか?
  • 私は素敵なSQLにイディオムを使用しています。
  • データベースの設定は同じです。
  • ファイルは同じです。それらをサーバーにアップロードします。
  • それらをバイナリとして送信するfilezillaがあります。

ifステートメントの回避策なしで、ローカルホストとサーバーに同じように表示させたいだけです。ある場所では utf8_decode を使用したくありません。

私が試すことができるアイデアはありますか?

4

2 に答える 2

0

理由はわかりませんが、コードの$html = mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8");前に置く必要がありました。@$dom->loadHTML($html);

ローカルホストとサーバーの設定があらゆる点で等しいのに、それがないと機能しない理由はまだわかりません。

于 2014-02-28T09:01:04.100 に答える