Я использую MySQL 5 на виртуальном хостинге, подключаясь из ASP.NET 3.5 с помощью драйвера ODBC MySQL 5.1. Я хотел бы хранить строки UTF8. Раньше все мои таблицы были в "latin1_swedish_ci", но я преобразовал базу данных, таблицу и столбец в UTF8, используя:
ALTER DATABASE `my_db` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
ALTER TABLE `my_table` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
ALTER TABLE `my_table` CHANGE `subject` `subjext` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL
Но я все еще получаю эту ошибку при вставке не-ascii символов (например, "遊 ぶ") в мою базу данных с использованием ODBCConnection и ODBCCommand:
ERROR [HY000] [MySQL][ODBC 5.1 Driver][mysqld-5.0.51b-community-nt]Incorrect string value: '\xE3\x80\x80\xE6\x89\x8B...' for column 'subject' at row 1
Обратите внимание, что, поскольку я использую драйвер 5.1, я не могу использовать "SET NAMES utf8;" - выдает ошибку.
Есть идеи, что мне не хватает?