0

誰かがこの問題で私を助けてくれることを願っています。数か月間 (昨年の 8 月から) の間、私のサイトで奇妙な文字がいたるところに表示されるという問題が進行中です。特に、ユーザー生成コンテンツで発生します。

私は答えを検索して検索しましたが、何も機能していないようですが、(ブログコンポーネントで) 最も差し迫った問題は、HTML を検証するように JCE を設定することで解決されました。これはブログコンポーネント ( EasyBlog ) ではうまくいきますが、どこにもありません。そうでなければ(それほど重要ではありませんが、依然として問題です)。

これが私がこれまでに行ったことです:

  1. 複数のマシン、複数のブラウザからサイトをチェックしましたが、違いはありません。
  2. MySQL データベースとテーブルの照合を確認しました。utf8_general_ci
  3. AddDefaultCharset UTF-8およびAddCharset UTF-8.php を .htaccess ファイルに追加しました。私は何年もの間これらをいじりましたが、サイトをクラッシュさせなかった組み合わせはこの 2 つだけのようでした。
  4. HTML ヘッダーを確認したところ、正しいコンテンツ エンコーディング タイプ ( に設定UTF-8)が含まれていることは間違いありません。
  5. さまざまな WSIWIG エディターを試しましたが、うまくいきませんでした。また、多くの場合、コード出力で文字が表示されます。通常は » の隣に A があります。

接続スクリプトを強制的にハックしようとしましたUTF-8が、これによりサイトがクラッシュします。

私にまだ何ができるかについて何かアイデアがあれば...私はすべて耳にします(お願いします)

よろしくお願いします

4

1 に答える 1

2

サーバーで PHP 5.4 以降を実行している場合は、JCE フォーラムで説明されている次の解決策を試すことをお勧めします。

エディターのグローバル構成で、" Entity Encoding" を " " にUTF-8設定します。

[カスタム構成変数] フィールドに、次を追加します。

keep_nbsp:0

この問題に対処する JCE 2.3.2 リリースに注目してください。

注意事項:

  1. 偽の â または Â が発生している場所はどこでも、文字を削除するために編集する必要があります (上記の変更が JCE に適用された後)。
  2. 問題はJoomlaです!2.5.x での使用はget_html_translation_table()デフォルト値に依存しており、PHP 5.4 ではデ​​フォルトencodingパラメータが に変更されましたUTF-8。以前はデフォルトでISO-8859-1

  3. _decode()で試して変更できるコアについては、次の行 ( 644 付近)/libraries/joomla/filter/input.phpを探します。

    $trans_tbl = get_html_translation_table(HTML_ENTITIES);

次のように変更します。

$trans_tbl = get_html_translation_table(HTML_ENTITIES, ENT_COMPAT, 'ISO-8859-1');
于 2013-02-23T09:40:03.257 に答える