Ms access Microsoft Access TransferText函数:代码页有问题

Ms access Microsoft Access TransferText函数:代码页有问题,ms-access,unicode,special-characters,Ms Access,Unicode,Special Characters,我继承了一个庞大的MS Access数据库,并被指派解决其中的一个问题。问题如下 系统A将其数据导出到管道分隔的.txt文件。这些文件具有正常工作的特殊字符,例如在记事本或Excel中打开此文件时显示的值“Müller” 接下来,Access DB导入.txt文件并将结果存储在内部employees表中。姓氏字段的数据类型为“备注”。将数据从.txt文件导入MS Access的方法如下: Call DoCmd.TransferText(acImportDelim, _

我继承了一个庞大的MS Access数据库,并被指派解决其中的一个问题。问题如下

系统A将其数据导出到管道分隔的.txt文件。这些文件具有正常工作的特殊字符,例如在记事本或Excel中打开此文件时显示的值“Müller”

接下来,Access DB导入.txt文件并将结果存储在内部employees表中。姓氏字段的数据类型为“备注”。将数据从.txt文件导入MS Access的方法如下:

Call DoCmd.TransferText(acImportDelim, _
                        "tblEmployees", _
                        "tblEmployees", _
                        me.txtImportFile, _
                        True)
在运行此导入并查看employees表后,我注意到带有特殊字符的名称被弄错了。“Müller”变为“M”├⌐比如说。我调查了一些在线帮助,发现TransferText调用中可能包含“codepage”参数,因此我将其设置为65001(这似乎是unicode的代码页):


现在我已经再次运行导入脚本,我看不出有任何区别,特殊字符仍然是错误的。我已经没有动力了,所以我希望你们中的一位能就如何解决这个问题提供一些建议…

两个版本的TransferText操作都使用了名为tblEmployees的规范名。该规范中指定了什么代码页

尝试手动导入文本文件。从导入文本向导中选择“高级”。然后在“代码页”列表框中选择Unicode。您可能需要使用不同的代码页选项进行测试,直到找到正确导入文本的选项


无论哪种代码页选择有效,请将您的选择保存为规范,并在TransferText命令中使用它,而不提供单独的代码页参数。

VBA中有一个unicode列表可供使用:

使用CodePage=1200(msoEncodingUnicodeletletlendian)解决了我的问题

Call DoCmd.TransferText(acImportDelim, _
                        "tblEmployees", _
                        "tblEmployees", _
                        me.txtImportFile, _
                        True, _
                        , _
                        65001)