会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 微软KB > 正文

202479-ACC2000:转换包含非美国英语字符的数据库时出现意外字符

时间:2003-12-14 00:19 来源:微软 作者:微软 阅读:

版权:微软
原文地址
:http://support.microsoft.com/default.aspx?scid=kb;zh-cn;202479

建议阅读微软原文, 以保证是最新最准确的KB版本及最新更新!!

如果原文无法链接,可阅读下面转贴:

ACC2000:转换包含非美国英语字符的数据库时出现意外字符

适用于

本文的发布号曾为 CHS202479
高级用户:要求具有高级编程、互操作性和多用户技巧。

本文仅适用于 Microsoft access 数据库 (.mdb)。

重要说明:本文包含有关编辑注册表的信息。编辑注册表之前,请确保一旦发生问题,您知道应该如何还原注册表。有关如何还原注册表的信息,请查看 Regedit.exe 中的“还原注册表”帮助主题,或 Regedt32.exe 中的“还原注册表项”帮助主题。

有关本文的 Microsoft access 2002 版本,请参见289525

症状

当您将包含外文特定字符的 Microsoft Access 2.0、95 或 97 数据库,转换到 Microsoft access 2000 时,在转换完的数据库中会出现无法预料的字符。

原因

Microsoft Access 的早期版本使用 ANSI 代码页来表示外文符号。当数据库转换到 access 2000 (Jet 4.0) 后,所有的数据都将转换为 Unicode。这就要求将数据从 ANSI 代码页映射到 Unicode。

为了确定在映射过程中使用哪个 ANSI 代码页,Jet 数据库引擎会使用数据库转换过程所在的操作系统的代码页。

如果操作系统的代码页是美国英语 (1252),Jet 数据库引擎就使用美国英语代码页来映射外文特定字符。如果在包含外文特定字符的数据库的转换过程中使用美国英语代码页,将导致在转换后的数据库中出现错误的字符。

解决方案

要转换包含外文特定字符的数据库,请在使用相应外文代码页的操作系统上进行。

但如果有必要,您还可以在计算机注册表中添加两项,强制 Jet 数据库引擎在转化数据库时使用特定代码页。

警告:“注册表编辑器”使用不当会导致严重的问题,这种问题可能需要重新安装操作系统。Microsoft 不保证能够解决因为“注册表编辑器”使用不当而产生的问题。使用注册表编辑器需要您自担风险。

有关如何编辑注册表的信息,请查看注册表编辑器 (Regedit.exe) 中的“改变项和值”帮助主题,或 Regedt32.exe 中的“添加和删除注册表中信息”和“编辑注册表数据”帮助主题。注意,编辑注册表之前,应当先备份注册表。如果您运行的是 Windows NT 或 Windows 2000,还应该更新“紧急修复磁盘 (ERD)”。

要在计算机中添加适当的注册表键值,并完成数据库的转换,请遵循以下步骤:
  1. 打开注册表编辑器 (regedit.exe)。
  2. 向注册表键值中添加以下字串值:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet3.x ForceCP 字串 代码页编号(例如:1252)
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet2.x ForceCP 字串 代码页编号(例如:1252)

  3. 关闭注册表编辑器。
要转换 access 数据库,请遵循以下步骤:
  1. 退出 access 2000。
  2. 重新打开 access 2000,然后打开要转换的数据库。
  3. 在提示是否转换数据库时,转换数据库。

    警告:在成功转换数据库之后,请删除前面所加入的注册表键值。如果不这样做,将来转换的所有数据库,就都会按注册表所指定的代码页进行转换。

这篇文章中的信息适用于:

  • Microsoft access 2000

最近更新: 2001-4-19 (1.0)
关键字 kbdta kbprb KB202479

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
推荐内容
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: