WAMP インストールに付属している MySQL データベース バージョン 5.1.36 があります。私はこれを Windows XP SP3 での開発目的で使用しました。中にはキリル文字のデータが含まれており、これらすべてのテーブル/列の照合順序は に設定されていutf8_general_ci
ます。
今度は、このデータベースを Debian Lenny 上にある疑似実稼働環境に移行する時が来ました。ここでの MySQL のバージョンは 5.0.51a です。
私は次のことを試しました:
- Windowsのphpmyadminからのデータを含むデータベースをエクスポートし、
.sql
ファイルをUTF8で保存しました。 - 次に、WinSCP (デフォルトとバイナリ転送設定の両方) を介して Linux マシンに転送しました。
- コマンドラインからデータベースを作成しました:
mysqladmin -u root -p create nbs
最後に、テーブルを作成してデータを入力しようとしました。
mysql -u root -p --default-character-set=utf8 nbs < NBS_utf8_1.sql
ただし、これは次のようなエラーが発生する場所です。
1 行目の ERROR 1064 (42000): SQL 構文にエラーがあります。1 行目の ' CREATE TABLE IF NOT EXISTS
`history_members` ( `id`
int(11) NOT NULL AUTO_' の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
エンコーディングで何かが台無しになっていると思います...しかし、その方法と場所がわかりません。テキスト転送のバイナリモードは、改行 CRLF を LF に変更するだけであるという SO の同様の質問を読んだと思います (これが正しいかどうかはわかりません...)。ここで何が欠けていますか?
ありがとう。