1

我目前正在尝试在 .NET 应用程序中使用 MySqlBulkLoader 来添加 Unicode 和 UTF8 格式的数据。我的代码执行以下操作

  • 使用 TextWriter 和 Stream writer 写入制表符分隔的文本文件

    使用 (TextWriter tr = new StreamWriter(newFile, false, Encoding.UTF8))

  • 使用 Charset=utf8 的连接字符串打开 MySqlBulkLoader;在最后

    MySqlBulkLoader bl = new MySqlBulkLoader(new MySqlConnection(mysqlconnstring));

  • BL 的字符集为 UTF8

    bl.CharacterSet = "utf8";

  • 然后我调用 bl.Load();

但是当我检查数据库时,我得到了?对于 Unicode 字符...我检查了我正在写入的文本文件,并且字符显示正确。

我已经尝试将数据库和表的排序规则设置为 utf8_bin,基于 [this question 1但我仍然得到?...我做错了什么?

4

1 回答 1

1

对...即使设置了表格的排序规则,也没有什么区别,但是您确实需要设置表格本身的字符集...我做了以下...

ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

它奏效了!快乐的时光!

于 2013-03-01T15:35:11.063 回答