web-dev-qa-db-ja.com

WordPress UTF-8の特殊文字

フロントエンドにめちゃくちゃに表示されている特殊文字に関する問題があります。主に疑問符に変換されるか、それとも ?

例 - フレデリックはフレドリックになります。

私を困惑させたいくつかの事実:

  • このWPインストールはローカルマシンにあり、サーバーをatと共有しています
    他に40個以上のインストール - この問題がないインストール。

  • このWP installは他のDBと同じDBも共有します。

  • 私のwp-configファイルには、照合と文字セットが定義されています。

  • DBは問題ないようです。私がEDITOR(バックエンド)で投稿を表示しているとき - すべて正しいのですが、問題はフロントエンドのみにあります。

    • DBは問題ないようです(2)。投稿をphpMyAdminで開き、直接値を確認します - すべての文字が問題ありません。
  • この問題はブラウザ/ OSのエンコーディングではない、4でチェックされている
    異なるマシン、3つのOS、9つのブラウザ.

私は過去の経験から私が知っているすべての解決策を試してみました。

  • wp-configをチェックする(それは大丈夫、utf-8は定義済み、照合は大丈夫)
  • DBをチェックする - 全てUTF-8
  • 私のヘッダをチェックする(<?php bloginfo('charset'); ?>) - それは正しいマークアップでutf-8として正しくレンダリングされます。
  • 私のエディタですべてのテーマファイルを開き、BOMなしでエンコーディングをUTF-8に変換して保存します。

私は何かを逃しましたか?何か案は ??

5
user13279

編集:

<meta charset="utf-8" />タグに<head>がありますか。ユーザ here はこれを追加することで文字エンコーディングに関する同様の問題を修正しました。

utf-8 character encoding in wordpressを検索すると、実際には 多くのGoogle検索結果 が見つかりました。

また、テキストをエディタのHTMLビューに貼り付けて保存しても違いはありますか?


@toschoがコメントで説明したように、以下はそれほど良い考えではありません。

これが問題を解決するための最良の方法であるかどうか私にはわかりませんが、 this は私のクライアントのWebサイトの1つでうまくいきました。

wp-config.phpファイルで次の2行を見つけます。

define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

そしてそれらを次のようにコメントアウトします。

//define('DB_CHARSET', 'utf8');
//define('DB_COLLATE', '');
2
Jared

偶然あなたの出力を回避するためにhtmlentities()を使用していますか?もしそうなら、あなたは3番目のパラメータとして 'UTF-8'を定義する必要があります。

0
bradt