【发布时间】:2014-05-14 21:33:27
【问题描述】:
我正在从 ms access 2010 中的 2 个查询中导出文本文件。查询来自不同的链接 ODBC 表(但表仅在数据、结构和数据类型方面不同)。我设置了导出规范,以便为这两个文件以 utf-8 编码导出文本文件。现在麻烦的部分来了。当我导出查询并在记事本中打开它们时,一个查询是 utf-8,第二个是 ANSI。当两个 queires 具有相同的导出规范时,我不知道这怎么可能,这让我发疯。
这是我导出查询的 VBA 代码:
DoCmd.TransferText acExportDelim, "miniflow", "qry01_CZ_test", "C:\TEST_CZ.txt", 没有 DoCmd.TransferText acExportDelim, "miniflow", "qry01_SK_test", "C:\TEST_SK.txt", 没有
我也尝试通过添加 65001 作为编码参数来修改它,结果相同。
你知道哪里出了问题吗?
【问题讨论】:
-
您使用的保存的导出规范是否专门选择
Unicode (UTF-8)编码,如this? -
是的,完全一样。
-
您如何确定一个导出是“utf-8”而另一个是“ANSI”?您是否使用十六进制编辑器来检查重音字符的编码,例如
é(在“ANSI”中是E9,在 UTF-8 中是C3 A9)? -
我刚刚在记事本中打开了文件,第一个文件是 UTF-8,第二个文件是 ANSI(如this)。但是,如果我在 pspad 十六进制编辑器中打开它们,则字符类似于您编写的字符 - ansi 中的é 是 E9,但 utf-8 é 是 EFBBBFC3A9。这对你有帮助吗?
-
é in utf-8 就像 EFBBBFC3A9 只是在开头,如果我把 char 放在其他地方,那么它就是你写的 C3A9
标签: sql vba encoding utf-8 ms-access-2010