J'utilise MySQL 5 sur un hébergement mutualisé, en me connectant à partir d'ASP.NET 3.5 en utilisant le pilote MySQL 5.1 ODBC. J'aimerais stocker les chaînes UTF8. Mes tableaux utilisés pour être tous dans « latin1_swedish_ci », mais je me suis converti la base de données, table et colonne UTF8 en utilisant:Comment écrire du texte UTF8 à MySQL depuis ASP.NET via ODBC?
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
Mais je reçois toujours cette erreur lors de l'insertion des caractères non-ascii (comme « 遊 ぶ ») dans ma base de données en utilisant un OdbcConnection et 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
Notez que depuis que je suis à l'aide du pilote 5.1, je ne peux pas utiliser "SET NAMES utf8;" - il produit une erreur
.Des idées que je manque?
Merci - le navigateur MySQL Query m'a montré que l'une des colonnes n'avait pas été commutée comme je le pensais. – bhollis