サーバーを変更した後のキャラクターエンコードの問題
質問
私は最近、WordPressベースのサイトをDreamHost VPSからDebian + LEMPを実行しているLinode VPSに移動しました。再びサイトを上げた後、私は投稿に多くの誤ったキャラクターに気づきました。 「アンド - 」のようなキャラクターは、ギブリッシュに置き換えられていました。
見た目をした後、この問題がキャラクターエンコーディングに関連するものであることは明らかでした。
編集を提案するガイドを見つけました wp-config.php
そして、行にコメントします:
define('DB_CHARSET', 'utf8');
と define('DB_COLLATE', '');
私はこれを行い、それは問題を修正しましたが、それがそれを行うための最良の方法であるかどうか疑問に思っています。アドバイスありがとうございます。
解決
これに取り組んで1日を費やした後、私はついに完璧に機能するガイドを見つけました:
その前に、 @rarstの情報をフォローして、データベースのエクスポートを試して手動でクリーニングしようとしました。 http://www.prelovac.com/vladimir/ultimate-solution-to-weird-utf-character-encoding-breble (実際には非常にうまく機能しましたが、すべてのキャラクターを修正しませんでした。おそらく恐ろしいアイデアでした)。
とにかく、もしあなたがこの問題に遭遇したなら、私が投稿した最初のリンクをチェックしてください。手順は非常にシンプルで、基本的に交換することになりました SET NAMES latin1
と SET NAMES utf8
データベースをエクスポートした後、新しいクリーン化されたデータベースをUTF8として明示的にインポートするようにします。
他のヒント
これが私のために働いた別の解決策です...
コメントするだけです DB_CHARSET
と DB_COLLATE
の wp-config.php
//define('DB_CHARSET', 'utf8');
//define('DB_COLLATE', '');
見る データベース文字セットの変換 コーデックスで。記事には、3.0.1バージョンで完全に書き直されることについてのメモがあるため、情報は最新の状態である必要があります。
私は自分のウェブサイトファイルを古いディレクトリから新しいディレクトリに移行し、次のことを変更することができました。
定義( 'db_charset'、 'utf8mb4');
に
定義( 'db_charset'、 'utf8');
そして、これにより、ブラックダイヤモンドの白人の問題が解決されました。