非常に多数の mysql DB をいくつかの共有 Web ホストから 1 つの共有 Web ホストに移行しています。
これらの大部分はポルトガル語であるため、かなりの数の特殊文字があります。私が移行している DB の一部は latin1 で、一部は cp1251 で、一部は utf8 です。
もちろん、単純に DB をダンプし、そのダンプを新しいホストに復元すると、エンコーディングと "?" が完全に無効になります。データベースに関連付けられた実際の Web サイトには、文字やその他のナンセンスが表示されます。
小規模では、何をダンプ/復元するかを知るために、html charset タグをいじることは許容されますが、問題は、何千ものデータベースと Web サイトを扱っており、移行がすべて自動的に行われることです。いくつかのスクリプト。
作業を行うスクリプトが HTML タグで指定されたエンコーディングを認識しないと仮定して、これらの DB をダンプ/復元する最良の方法についての提案を探しています。
これまでのところ、実際の mysqldump ツールを使用してみたり、php スクリプトでそれを模倣したり、テキスト ファイルとの間ではなくメモリとの間でダンプしたりしてみましたが、どちらもデータを 1 つずつ完全に複製するようには見えません。その他、エンコードの問題なし。
UTF8 を使用してダンプをエンコードし、HTML コードページに関係なくそのまま復元する必要がありますか? HTMLコードページに関係なくUTF8で両方をダンプして復元しますか? 各 create table ステートメントで見つかったデフォルトの文字セットでダンプして復元しますか?
これらのさまざまなシナリオの影響と影響についての私の理解は限られていますが、基本的に知っておく必要があるのは、スクリプトの HTML で使用されるコードページを知らなくても、2 つのデータベース サーバー間でエンコードの問題なしにデータを完全に複製する方法があるかどうかです。データにアクセスしています。