0

照合順序が latin1-default であるが、テーブルが utf-8-default であるレガシー mysql データベースの作業を開始しました。テーブルは utf-8 (ユニバーサル標準エンコーディング) で記述されていますが、スウェーデン語の文字はレンダリングされません。このデータベースエンコーディングに関連するアプリケーションは ISO-8859-1 のようです。そこで、このデータベースとその中のデータを ISO-8859-1 エンコーディングに変換したいと思います。このコマンドで試しました

  iconv -f  UTF-8 -t ISO-8859-1   webtest_backu_01.sql > converted-file.sql

それはエラーを与えます:位置での不正な入力シーケンス

どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

1

このリンクを見てください: http://dev.mysql.com/doc/refman/5.0/en/charset-conversion.html

可能であれば、alter table コマンドを使用して、この変換をテーブルごとに行うことができます。以前はこれを使用して成功しました。

リンクからの例:

ALTER TABLE t MODIFY col1 CHAR(50) CHARACTER SET utf8;

また、重要な詳細...列に両方の文字セットにない文字が含まれている場合、変換に損失が生じる可能性があります...しかし、ISO-8859-1からUTF-8にはならないと思います。

1 つのテーブルでこれを試して、機能するかどうかを確認してください。

于 2012-09-25T21:22:07.833 に答える