我已经看到了有关此问题的一些主题,但没有一个免费解决方案适用于utf8_general_ci
。当我们在文件中包含阿拉伯语单词时,我们需要utf8_general_ci
,例如。
1 - 我已经尝试过" MySQL WorkBench"但我没有看到任何更改目标表排序规则的选项,它是默认选项(latin1_swedish_ci
)。所以阿拉伯语单词是这样的> äÇåíÏ
2 - 与MS Access相同的故事。我已经用它"导出到ODBC"功能,并没有看到任何更改目标表排序规则的选项,因此单词就像这样????
。
3-我尝试过这个已知的工具bullzip access to mysql migrate,但不幸的是,它在迁移开始时崩溃,因为我的.mdb文件超过1 GB。也许有用于将mdb文件分成5个或更多部分的工具??
4 - 不幸的是,ESF数据库迁移工具包的试用版增加了char" T"在所有文本字段的开头,我无法支付219美元。
有没有人知道这个问题的免费解决方案?
答案 0 :(得分:0)
将表导出到ODBC数据源时,Access仅发出CREATE TABLE
语句,其中只包含表名,列名和列类型。因此,表的字符集和排序规则将是该数据库的默认值。
对于MySQL,如果数据库的默认字符集是latin1
,那么将使用latin1
字符集创建表。然后,当Access尝试将INSERT
个Unicode字符放入其中时,它们将被MySQL表中的?
个字符替换。
要使用utf8
字符集创建表,可以使用
ALTER DATABASE `databasename` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
然后将表从Access导出到MySQL。
如果您无法更改数据库的默认字符集,则另一个选项是
utf8
字符集