0

次のようなエラーがランダムに表示されるWordpressサイトがあります。

WordPress database error: [Incorrect string value: '\xF0\x9F\x92\x97\xF0\x9F...' for    column 'option_value' at row 1] UPDATE `wp_options` SET `option_value` = 'a:95:{

これはプレースホルダー サイトです。データは、PhpMyAdmin を使用して既存のライブから .sql ファイルにエクスポートされました。ある種の文字エンコーディングの問題があると思われますか? 私は、「デフォルトがUTF8であった可能性があるもの」でエクスポートしました。インポートしたデータベースで、文字エンコーディングと照合の両方を UTF8 (現在はこれ) として試し、エンコーディングと照合としてそれぞれ「Latin1 ISO8899 Western Europe」と「utf_general_ci」を試しましたが、うまくいきませんでした。

しばらくしてサイトにアクセスすると、エラーが発生することに気付きました。

私に何ができる?ありがとう!

4

3 に答える 3

2

最近、MySQL から に切り替える方法についての詳細なガイドを書きましutf8utf8mb4。そこの手順に従えば、すべてが正しく機能するはずです。プロセスの個々のステップへの直接リンクは次のとおりです。

于 2012-08-07T06:56:00.943 に答える
1

問題は、エンコーディングの不一致である可能性があります。utf8 は最大 3 バイトの文字を格納でき、utf8mb4 は最大 4 バイトの文字を格納できます。あなたの .sql ファイルのデータには、utf8 でサポートされていないまれなシンボルが含まれていると思います。.sql ファイルを新たにインポートしてみますが、エンコーディングを utf8mb4 に設定してください。少し前にJoomlaで同じ問題が発生しました。

于 2012-06-30T17:37:29.227 に答える
0
今日も同じ問題が発生しました。
何度も試した結果、理由を突き止めてやっと直しました。
デフォルトのMySQL文字セットと照合(latin1、latin1_swedish_ci)を使用してデータを格納するアプリケーションの場合、データベースまたはテーブルを作成するときに、文字セットと照合をutf8/utf8_general_ciに指定する必要があります。
例えば:
        $ sql ="CREATETABLE"。$table_name。"(
        id Mediumint(9)NOT NULL AUTO_INCREMENT、
        bookname varchar(128)NOT NULL、
        著者varchar(64)NOT NULL、
        主キー(id)、
        KEY(本名)
        )CHARACTER SET utf8 COLLATE utf8_general_ci; ";

参照:
《 mysql create tableproblem?解決しました!!!!!!!!!!!》
http://forums.mysql.com/read.php?121,193883,193883
《10.1.5。アプリケーションの文字セットと照合の構成》
http://dev.mysql.com/doc/refman/5.0/en/charset-applications.html

これがあなたを助けることができることを願っています。
于 2012-11-25T17:03:00.330 に答える