質問

WordPressブログとphpBBフォーラムを新しいホスティングサーバーに移行しています。 phpMyAdminを使用して、前のサイトのデータベースからSQLスクリプトをインポートしています。

ケイトで.sqlスクリプトを開くと、エンコードとしてUTF8を使用していると表示されます。新しいサーバーにsqlをインポートすると、phpMyAdminでエンコードを選択するオプションがあります。デフォルトではutf8が選択されています。

それでも、データベースのインポートが完了すると、phpMyAdminで投稿テキストを直接読み、<!> quot; <!>#233; <!> quot ;, <!> quot; <! >#241; <!> quot;など<!> quot; interpreted <!> quot;奇妙な文字に置き換えられました。

WordPressのインストールも機能していないことがわかります。どうやらこのエンコーディングの問題があるようですが、問題はMySQLデータベースまたはphpMyAdminにあり、WordPressにあるとは思いません。

MySQLのバージョンは、MySQL 5と実質的に同じですが、リビジョンが異なります。また、フォーラムデータベースを移行する際に問題はなかったため、これはさらに奇妙です...

これを修正する方法がわかりません...どんなアイデアでも大歓迎です。

役に立ちましたか?

解決

追加しようとしましたか

SET NAMES 'utf8';

SQLダンプへ

utf8またはエンコーディングの一般的なことは、成功するために次のことを確認する必要があることです。

  • ファイルは署名なしでutf8でエンコードされます
  • mysqlサーバーのデフォルトのエンコーディングはutf8に設定されています
  • 接続はutf8です(そのため、sql-fileにSET NAMES 'utf8'を配置します)。
  • すべてのテーブルと列には正しいエンコーディングと文字セットがあります
  • すべてのWebファイルもutf8でエンコードする必要があります。そして、正しいヘッダーを追加するだけでは機能しません。ファイルを開き、エンコードがutf8であるかどうかを確認し、そうでない場合はすべてをカットし、エンコードをutf8に変更して、すべてを貼り付けます。エンコードを変更してファイルを保存するだけでは機能しません!

他のヒント

ご回答ありがとうございます。私は解決策を見つけました、そして、私は以前にそれを実現しなかったことに本当に愚かな気持ちになります。すべてが正常に機能するはずでした:

-ファイルはutf8でエンコードされました -テーブルはutf8で宣言されました:

SET character_set_client = utf8;
-MySQLサーバーはutf8で構成されました など

そもそも気づかなかったのは、cPanelのバックアップウィザードのデータベースバックアップを使用していたことです。これに気付いたらすぐに、古いサーバーでphpMyAdminを使用してデータベースをエクスポートし、新しいサーバーにインポートして、問題を修正しました。

phpMyAdminは、cPanel:PよりもphpMyAdminをよく理解しています。これもおそらくおそらく機能しますが、phpMyAdminの方が信頼できます。

ご回答ありがとうございます。

私はちょうど同じ問題に出くわしました。約1時間それと格闘し、それが私のサイトの多くを壊したので、私は他の誰かがそれと格闘しているかどうか見て、解決策を投稿するだろうと思いました:解決策簡単に言えば、インポート時にインポート文字セットを指定することです。

ホストへのSSHアクセスがある場合、最初にすべてのテーブルを新しいデータベースに再度ドロップしてから、SSHセッションでこのコマンドを実行します(古いダンプファイルが olddatabase.dump.sql であると仮定します) ):

$ mysql -h host -u username -p password --default-character-set = utf8 database <!> lt; olddatabase.dump.sql (ホスト、ユーザー名、パスワード、データベースを適切な値に置き換えます)

これは、問題を解決する最も簡単で最も簡単な方法です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top