2016-09-29 7 views
1

私は間違った母音を持つ顧客からのmysqldumpを持っています。 これはバックアップであり、私は新しいバックアップを取得しません。間違った母音を持つmysqldump - 検索と置換?

たとえば、öの代わりにüがあり、öの代わりにÃがあります。

これを解決するには、メモ帳で検索と置換を行うことはできますか?または、tt_content以外のテーブルやグローバルな検索と置換を行うページにダメージを与えることはできますか?

答えて

3

私は別の文字セットの設定とエクスポートとインポートすることでこれを解決しました。 ローカル開発サーバーで既存のmysqlダンプをインポートし、以下のようにエクスポート/インポートを試してください。 新しいMySQLのダンプを作成し、のようないくつかの設定を試してください:あなたは正しい変換(LATIN1を見つけるために、いくつかのテストが必要になります

mysql --default-character-set=utf8 -u [USERNAME] -p [DBNAME] < [MYSQLDUMNAME].sql 

:のような設定で新規作成したMySQLのダンプを

mysqldump --default-character-set=latin1 --skip-set-charset --skip-extended-insert --skip-add-drop-table --no-create-info -u [USERNAME] -p [DBNAME] > [MYSQLDUMNAME].sql 

インポート、utf8)。あなたのmysqlのダンプで正しいと間違った文字が混在している場合は

、あなたはおそらく、このようなテーブルを除外し、同様にそれらを個別にインポートします:

mysqldump --default-character-set=latin1 --skip-set-charset --skip-extended-insert --add-drop-table --ignore-table=[DBNAME].[TABLENAME] -u [USERNAME] -p [DBNAME] > [MYSQLDUMNAME].sql 

置き換え[USERNAME]、[DBNAME]、[TABLENAME ]、[MYSQLDUMNAME]に値を入力します。

1

これは、データベースがcp-1252の場合にutf-8でサーバーと通信するなど、バックアップをダンプするために使用される誤ったエンコーディング設定が原因です。作成に使用した設定を取得できる場合は、ローカルマシン上で同じ設定で正しくインポートし、正しい設定で新しいダンプを作成して修正することができます。

検索置換で修正しようとすることはできますが、本当に小さなダンプでない場合は、多くのシンボルが欠落している可能性があります。

関連する問題