UTF8 でエンコードされたデータを mysql にインポートしてもうまくいきません。UTF8 文字が壊れています。たとえば、NöthnagelはNöthnagelと表示されます。
UTF-8 でエンコードされたデータを含むインポートを行うために、SQL ダンプ ファイルを作成しました。例えば:
INSERT INTO `users` VALUES(1, 'Fred','Nöthnagel');
ファイル内のöを表すバイトのシーケンスは c3 b6 であり、vim およびこれらの環境変数が設定されている bash シェルで正しく表示されるため、正しいと思われます。
$ env | grep -i utf
LANG=en_US.UTF-8
XTERM_LOCALE=en_US.UTF-8
mysql db は次のように作成されました。
mysql> CREATE DATABASE mydb CHARACTER SET utf8;
mysql テーブルは次のように作成されました。
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`first_name` varchar(30) NOT NULL,
`last_name` varchar(30) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `last_name` (`last_name`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
次のようにダンプファイルをインポートしています。
mysql -u root -psecret mydb < mydump.sql
上記で足りないものを教えてください。