Перевернутый знак вопроса вместо реального символа после перехода с поставщика MSDAORA на поставщика OraOLEDB - PullRequest
3 голосов
/ 09 августа 2011

У нас есть

  • Классическое приложение ASP (VBscript), которое отображает форму для заполнения (charset = windows-1252)
  • Приложение VB6 COM + (ссылающееся на ADO 2.1), которое получает информацию из формы и сохранить в базе данных Oracle 11g R2 (в поле Varchar2)

Мы пытаемся скопировать и вставить текст из документа Word 2010, содержащий такие символы: «’ »,« - »и т. Д. Чтобы быть более точным, единственные символы, которые OraOLEDB не может обработать:

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

Работает нормально при использовании поставщика MSDAORA, но эти символы сохраняются в виде перевернутого вопросительного знака при использовании поставщика OraOLEDB.

Дело в том, что мы должны использовать поставщика OraOLEDB для работы с некоторыми полями CLOB.

Что мы можем сделать?

1 Ответ

0 голосов
/ 05 августа 2012

У меня была эта проблема в приложении Ruby, когда вы копировали и вставляли из офисных документов, вы можете получить текст, закодированный в кодировке, что еще больше затруднит вашу передачу.Поэтому я сначала преобразую вставленный текст в UTF-8, и у меня больше нет этих проблем.Вы можете выполнить преобразование перед отправкой клиентского или в принимающем ASP перед передачей в базу данных.Я нашел пример, как преобразовать одну кодировку в другую для ASP, но вам придется настроить ее в соответствии с вашими потребностями Классический ASP - Как преобразовать строку UTF-8 в UCS-2?

...