【问题标题】:Chr (169) not giving copyright symbolChr (169) 未给出版权符号
【发布时间】:2020-07-06 07:13:15
【问题描述】:

我有一个 mdb 拆分 FE 和 BE,在我的 Windows 10 / Office 365 Acess 上为 Chr(169) 提供 ©。

在装有 Office 2013 的客户端计算机(最近更新到 Windows 10)上,Access 给出了 � (实际上,在“立即”窗口中,它看起来是一个带有变音符号的 1,然后是一个倒置的问号,然后是一个上标 1/2)为 Chr(169)。

在客户端机器上的即时窗口中,Asc("©") 给出 176 而不是 169。

似乎两台机器的字符映射不同,尽管当我打开字符映射应用程序时,Arial 和 Times New Roman 显示 © 为 169。

如何让客户的机器与我的匹配?

我被建议做的第一件事是办公室维修。在此之后,在即时窗口中,我每次都会得到不同的值

?asc("©")

48 然后 16 然后 72 然后 112 然后 144 等等,随机数。

无论我是从 MS Word 还是 Character Map App 复制版权符号,都是一样的。

实际上,当我将版权符号粘贴到即时窗口中时,它会显示为 A(带有抑扬符)©。这有帮助/意味着什么吗?

此外,£ 符号旁边还有一个空方格。

有人有什么想法吗?办公室问题? Windows 问题?

谢谢!

【问题讨论】:

    标签: windows ms-access chr


    【解决方案1】:

    在使用非 ASCII 字符时始终使用 AscW

    版权标志不是标准 ASCII 的一部分,因此可能会或可能不会在 Windows 使用的代码页中表示,具体取决于区域设置。

    AscW 使用 unicode 而不是 Windows 代码页,这意味着它可以可靠地产生相同的结果。

    此外,切勿在 VBA 中存储非 ASCII 字符。如果需要特定字符,可以查找代码点并使用ChrW 生成字符串。对于多个字符,我建议您查看this answer,或者将它们存储在 VBA 之外。

    那么,对于即时窗口,它也不支持 unicode 字符,所以你不能相信那里显示的内容。 MsgBox 也没有。这使得调试很痛苦。看看 this answer 有一个支持 unicode 的消息框。

    【讨论】:

      猜你喜欢
      • 2018-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多