oracle - 从 MSDAORA 提供程序更改为 OraOLEDB 提供程序后,颠倒的问号而不是真实字符

标签 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 字段。

我们能做什么?

最佳答案

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

关于oracle - 从 MSDAORA 提供程序更改为 OraOLEDB 提供程序后,颠倒的问号而不是真实字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6993822/

相关文章:

vb.net - 使用命令行将 *.xls 或 *.xlsx 文件转换为管道分隔的 .csv 文件

vbscript - QTP:检查字符串数组是否包含值

asp-classic - 找出真正的文件类型

sorting - 列出 ASP Classic 中的最新文件

oracle - 在 oracle select 查询中如何添加一个数字列从 1 开始递增 2

oracle - 将 RefCursor 插入表中

SQL:查找最大行数

.net - 运行exe后如何返回退出代码?

css - 以模态形式验证

java - Hibernate 和 Oracle native 函数