3

リモート マシンの MySQL データベースからローカル マシンの別の MySQL データベースにテーブルをコピーしようとしています。ローカル マシンにダンプをインポートした後、一重引用符の代わりに â のような文字があることに気付きました。

これはエンコーディングの問題だと思ったので、両方のデータベースを調べて を実行しshow create table postsたところ、両方の終わり近くで が表示されましたCHARSET=utf8。また、file -iダンプ ファイルをscpローカル マシンに ing する前と後の両方で実行しましたが、どちらも utf8 でした。

ただし、このファイルをインポートすると、次のようになります。

  attendees—policy makers, 

以降:

  attendees—policy makers,

なぜこれが起こっているのかわかりません.すべてがutf8を使用しています.何が欠けていますか?

編集:私はmysql Ver 14.12 Distrib 5.0.75, for debian-linux-gnu (x86_64)リモートで、そしてmysql Ver 14.14 Distrib 5.5.25a, for osx10.7 (i386)ローカルで使用しています。

4

1 に答える 1

5

両方のシステムで、接続エンコーディングが正しいことを確認する必要があります。

SHOW VARIABLES LIKE 'character_set_%'

通常、そのような文字が表示されるのは、ダブルエンコーディングの結果です。接続とクライアントのエンコーディングを完全に同じにすることができることを確認してください。これを容易にするコマンドラインオプションがいくつかあります。または、ドライバーまたはクライアントを使用している場合は、そこにある何かがそれを微調整することができます。

于 2012-07-17T17:57:55.140 に答える