Проблема классифицируется в два этапа:
Проблема Шаг 1. Доступ к 97 дБ, содержащим строки XML, которые кодируются в UTF-8 .
Проблема сводится кк этому: Access 97 db содержит строки XML, которые закодированы в UTF-8.Поэтому я создал инструмент исправления для отдельного преобразования строк XML из UTF-8 в Unicode.Чтобы преобразовать строку UTF8 в Unicode, я использовал функцию MultiByteToWideChar (CP_UTF8, 0, PChar (OriginalName), -1, @newName, Size); . (Где newName - это массив объявленных значений) * newName: Array [0..2048] of WideChar;").
Эта функция хорошо работает в большинстве случаев, я проверил ее с испанскими, арабскими символами.но я работаю над греческими и китайскими персонажами, это душит.
Для некоторых греческих символов, таких как «Î • Ï… γ. ΚΠ± ÏÎ ± βιά» (, как хранится в Access-97 ), результирующая новая строка содержит нулевые символы между ними,и когда он хранится в широкой строке, символы обрезаются.
Для некоторых китайских символов, таких как «?  ¢ »? »(, как хранится в Access-97 ), результат совершенно абсурдный, как «? ¢»? µ? ».
Задача Шаг 2. Доступ к текстовым строкам на 97 дБ, графический интерфейс приложения принимает ввод в Unicode и сохраняется в Access-97
Сначала я сверился с арабскими и испанскими символами, потом кажется, что явного кодирования символов не требуется.Но опять же проблема возникает с греческими и китайскими персонажами.
Я попробовал вышеупомянутую ту же самую функцию для преобразования текста (Это правильно ???), результат снова был разочаровывающим.Испанские символы, которые не подходят для преобразования, получают символы Юникода либо потерянные, либо преобразованные в обычные алфавиты Ascii.
Символы греческого и китайского демонстрируют поведение, аналогичное описанному на шаге 1.
Пожалуйста, руководствомне.Я правильно выбрал подход?Есть ли какой-то другой способ обойти ???Ну, щас я запутался и полон вопросов :)