par*_*kos 5 ms-access vba access-vba
Access的VBA编辑器中使用的实际编码是什么?我一直在寻找一个具体的答案很久了,但是没有运气。
我以为是UTF-8,但我不太确定。
我的主要问题是,在VBA中编写查询时,有时需要在Access的查询编辑器中对其进行测试。但是,在复制粘贴时,我的本机字符(在我的情况下为希腊语)会丢失,因为它们变得乱码。
我曾尝试在文本编辑器中粘贴并将其另存为不同的编码,但是我永远无法恢复原始字符。
提前致谢。
编辑
让我进一步解释一下:
如您所见,我可以正常地在VBA编辑器中编写希腊字符:

但是,在Access的查询编辑器中复制第一行,我得到以下信息:

简单的文本编辑器也是如此:

因此,我倾向于认为问题出在剪贴板内部,这是由于用于希腊字符的编码所致。我猜它们不是Unicode,因为我确实必须在系统区域设置中更改非Unicode字符。那么如何保存/复制这些字符?用什么编码?
回答
实际上,在复制实际测试字符串时,通过将键盘输入语言切换为希腊语(EL)解决了该问题。
但是,我仍然不确定为什么会这样。如果有人可以对此提供一些见识,我很想听听。
再次感谢
VBA编辑器不支持输入或显示Unicode字符。相反,它使用称为“代码页”的较旧的Windows技术来提供对非ASCII字符的支持。
因此,VBA编辑器中的字符编码与“区域和语言选项”控制面板中指定的Windows系统区域设置所使用的代码页相对应。例如,将我的系统语言环境设置为“希腊语(希腊)”

我可以在VBA代码中输入希腊字符

但是,如果我将Windows系统区域设置切换回“英语(美国)”

并重新打开我的VBA项目,希腊字符已更改为新代码页中的相应字符

如果“控制面板”->“区域和语言选项”->“系统区域设置”设置正确,但有时仍会遇到此问题,请注意,在复制时键盘布局必须切换为非英语语言。
这适用于所有不支持 Unicode 的应用程序,而不仅仅是 VBA。
感谢@parakmiakos
详细信息在此: http://www.pcreview.co.uk/forums/use-greek-characters-visual-basic-editor-t2097705.html
看起来需要确保您的操作系统设置正确,并在 VBA 编辑器中选择字体。