При вставке данных Unicode в приложение ODBC, как определить кодировку, в которой они должны быть - PullRequest
1 голос
/ 03 апреля 2019

У меня есть общее приложение ODBC для чтения и записи данных через ODBC в некоторые БД (может быть MS SQL, MySQL или что-нибудь еще). Полученные и отправленные данные могут быть Unicode. Я использую SQL_C_WCHAR для своих привязок в этом случае. Итак, у меня есть два вопроса здесь:

  1. Можно ли определить кодировку, в которой данные поступили из источника данных ODBC?
  2. В какой кодировке я должен отправлять данные в источник данных ODBC? Для этого я запускаю параметризованный оператор вставки.

Мои исследования показали, что в некоторых источниках данных есть параметры подключения для установки кодировки, но я хочу написать универсальное приложение, работающее с чем угодно. Не удалось найти ни одного параметра ODBC, сообщающего кодировку источника данных. Есть ли что-то подобное? Документы ODBC просто говорят, что используйте SQL_C_WCHAR. SQL_C_WCHAR для UTF-16?

1 Ответ

0 голосов
/ 04 апреля 2019

Я провел еще несколько исследований, и как документы Microsoft, так и документы unixodbc, похоже, указывают на то, что ODBC поддерживает только UCS-2.Поэтому я думаю, что все отправленные или полученные данные должны быть в кодировке UCS-2.

...