web-dev-qa-db-ja.com

サーバー変更後の文字エンコードの問題

私は最近WordPressベースのサイトをDreamHost VPSからDebian + LEMPを実行しているLinode VPSに移動しました。再びサイトを立ち上げた後、私は投稿に多くの誤った文字があることに気付いた。 "and - のような文字は、意味のない文字に置き換えられていました。

見たところ、問題は文字エンコーディングに関連するものであることが明らかになりました。

wp-config.phpを編集して行をコメントアウトすることを提案するガイドを見つけました:

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

私はこれをし、それは問題を解決したが、それがそれについて取り組むための最良の方法であるかどうか疑問に思う。何かアドバイスありがとうございます。

4
Evan Wondrasek

一日中この作業に費やした後、私はついに完璧に機能するガイドを見つけました。

その前に、私は@ Rarstの情報に従ってみて、データベースをエクスポートして手動でそれをきれいにしてみました、ここから修正版でUTF-8サニタイズプラグインを試してみました http://www.prelovac.com/vladimir/ultimate-solution-奇妙なutf文字エンコーディング問題 (これは実際にはかなりうまくいったが、すべての文字を修正するわけではなかった。そして恐らくひどい考えだった)。

とにかく、あなたが誰かがこの問題に遭遇したのであれば、私が投稿した最初のリンクをチェックしてください。この手順は非常に簡単で、基本的にはデータベースをエクスポートした後にSET NAMES latin1SET NAMES utf8に置き換えることになりました。それから新しいクリーンデータベースをUTF8として明示的にインポートするようにしてください。

4
Evan Wondrasek

これは私のために働いた別の解決策です...

DB_CHARSETDB_COLLATEwp-config.phpをコメントするだけです

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

//define('DB_COLLATE', '');
2
Sabeer Mohammed

Codexの/ - データベース文字セットの変換 を参照してください。記事は3.0.1バージョンで完全に書き直されているので、情報は最新のものでなければなりません。

1
Rarst

私は自分のウェブサイトファイルを古いディレクトリから新しいディレクトリに移行しました。

定義( 'DB_CHARSET'、 'utf8mb4');

define( 'DB_CHARSET'、 'utf8');

これで、ブラックダイヤモンドのホワイトスペースの問題は解決しました。

0
OldWest