从MSDAORA提供商更改为OraOLEDB提供商后,倒置问号而不是真实字符

时间:2011-08-09 09:10:57

标签: oracle vbscript asp-classic oledb ado

我们有

  • 经典ASP(VBscript)应用程序,用于呈现要填充的表单(charset = windows-1252)
  • VB6 COM +应用程序(引用ADO 2.1),它接收来自表单和的信息 坚持使用Oracle 11g R2数据库(进入Varchar2字段)

我们尝试复制并粘贴包含以下类型字符的Word 2010文档中的文本:“'”,“ - ”等。更具体地说,OraOLEDB无法处理的唯一字符是:

¤  ¦  ¨  ´  ¸  ¼  ½  ¾  ƒ  ˆ  ˜  –  —
‘  ’  ‚  “  ”  „  †  ‡  •  …  ‰  ›  ™

使用MSDAORA提供程序时工作正常,但在使用OraOLEDB提供程序时,这些字符会被保留为颠倒问号。

问题是我们必须使用OraOLEDB提供程序来处理一些CLOB字段。

我们能做什么?

1 个答案:

答案 0 :(得分:0)

我在Ruby应用程序中遇到此问题,当您从Office文档中复制和粘贴时,您可以获得在字符集中编码的文本,这会在您的传输中进一步造成麻烦。因此我首先将粘贴的文本转换为UTF-8,不再存在这些问题。您可以在提交客户端之前或在接收ASP之前进行转换,然后再将其提供给数据库。 我找到了一个示例,如何将ASP从一个字符集转换为另一个字符集,但您必须根据需要进行调整Classic ASP - How to convert a UTF-8 string to UCS-2?