2012-03-12 9 views
0

私たちは別のサーバから私たちのサーバにウェブサイトをインポートしました。コードとデータベースは100%同じです。 しかし、ウェブサイトのテキストのエンコーディングが間違っているようです。ウェブサイト/データベースのテキストエンコーディングの問題

例: データベースでは、「Australië」という単語は「Australi?」と表示され、WebサイトではAustraliと表示されます。 私は修正することができます?? mysql_set_charset( "utf8"、$ this-> db)を追加します。データベース接続後 しかし、「オーストラリア」のようなデータベースには正しく表示されていません。私は、データベースとメタタグの後に、別のエンコーディングをApacheで試しました。

最も簡単な方法は、データベース内のデータを変更することですが、これを実行するには多くのデータがあります。

誰でもこの問題を解決する方法がありますか?検索して何時間も物事をたくさん試してきました。あなたがしようとすることができ

+0

どのような列のデータ型ですか? –

+0

古いデータベースが破損していることを意味しますか? –

+0

テーブルはutf8_unicode_ciです。テキストを持つすべてのテーブルにあります。古いデータベースは壊れていませんが、テーブルタイプがutf8の間はデータはutf8ではないと思います。たとえば、オーストラリア人がオーストラリア人ではなくオーストラリア人としてデータベースに保存されているとすれば論理的だと思います。 – Jeffrey

答えて

1

  • は、すべてのPHPファイルがUTF-と一緒に保存されていることを確認し
  • あなたのPHPファイル内のデータベースに
  • 実行SET NAMES 'utf8'SET COLLATION_CONNECTION=utf8_unicode_ciをuft8_general_ciするMySQLの接続照合順序を設定します8エンコーディングであり、BOMがない場合
  • テーブル内のセルがutf8_general_ci
  • であることを確認してください。セットはUTF-8 Unicode(utf8)

これは私が持っているものです。この設定では、データベース(phpMyAdmin)のすべての文字が実際にウェブサイト自体に表示されます。

私はつまり、私はISO-8859-1エンコードされたサイトでUTF-8のデータベースにデータを保存して、エンコーディングの不一致を持っていたとき、私は希望は、これはあなたを助けます...

を同様の問題に遭遇しました。

関連する問題