Access'中使用的实际编码是什么? VBA编辑?我一直在寻找一个具体的答案,但没有运气。
我认为这是UTF-8,但我不太确定。
我的主要问题是,在VBA中编写查询时,我有时需要在Access'中进行测试。查询编辑器。然而,当复制粘贴时,我会失去我的原生角色(在我的情况下是希腊语),因为他们转向胡言乱语。
我尝试在文本编辑器中粘贴并将其保存为不同的编码,但我永远无法恢复原始字符。
提前致谢。
修改
让我再解释一下:
正如您所见,我可以在VBA编辑器中正常编写希腊字符:
但是,复制Access'中的第一行查询编辑器,我得到以下内容:
简单的文本编辑器也是如此:
所以我倾向于认为问题出在剪贴板内部,因为希腊字符使用了编码。我猜它们不是Unicode,因为我确实必须在系统区域设置中对非unicode字符进行更改。那么如何保存/复制这些字符?用什么编码?
答案
实际上,在复制实际测试字符串时,通过将键盘输入语言切换为希腊语(EL)来解决此问题。
然而,我仍然不确定为什么会发生这种情况。如果有人能对此提供一些见解,我很乐意听到。再次感谢
答案 0 :(得分:5)
VBA编辑器不支持输入或显示的Unicode字符。相反,它使用称为"代码页"的旧Windows技术。为非ASCII字符提供支持。
因此,VBA编辑器中的字符编码对应于"区域和语言选项"中指定的Windows系统区域设置所使用的代码页。控制面板。例如,我的系统区域设置为"希腊语(希腊)"
我可以在我的VBA代码中输入希腊字符
但是,如果我将Windows系统区域设置切换回"英语(美国)"
并重新打开我的VBA项目,希腊字符已更改为新代码页中的相应字符
答案 1 :(得分:1)
如果“控制面板”->“区域和语言选项”->“系统区域设置”设置正确,但有时仍然遇到此问题,请注意在复制粘贴时 >您的键盘布局必须切换为非英语。
这不仅适用于VBA,而且适用于所有不支持Unicode的应用程序。
信用转到@parakmiakos
答案 2 :(得分:0)
详情请参阅:http://www.pcreview.co.uk/forums/use-greek-characters-visual-basic-editor-t2097705.html
看起来确保您的操作系统设置正确,并在VBA编辑器中选择字体。
答案 3 :(得分:0)
我对西里尔字母有类似的问题。正确设置系统区域设置可以解决部分问题。
但是,VBA编辑器在必须从其内部解释西里尔字母时仍然无法识别它们。
例如,它不能显示命令中的字符:
Msgbox "Здравей"
但如果工作表名称用西里尔字母表示,则效果很好:
Msgbox Activesheet.Name
最后,事实证明,当我更改为32位版本的MS Office时,此类问题已解决。