Мне предоставлена база данных MS Access со значениями на разных языках (английском, испанском, немецком, китайском). Все символы отображаются правильно в приложении Frontend, кроме китайского. Он показывает все случайные значения, такие как ящики и т. Д.Преобразование Unicode в C++ с использованием базы данных Microsoft Access
Итак, я просмотрел базу данных доступа Microsoft и не имеет никаких значений на китайском языке. Все, что у него есть, - это тарабарское множество символов, тогда как другие языки имеют правильные значения. Я не могу просто обновить базу данных новыми значениями в Юникоде, так как система очень старая, и мы не хотим ее менять, поскольку это было бы большим изменением.
Например:
English text: Printing Receipt ...
Chinese text: ÕýÔÚ´òÓ¡Êվݡ (Yep, I have this value in MS Database)
Мой вопрос, как я могу интерпретировать это? Что мне нужно сделать, чтобы преобразовать его в Unicode в C++?
Помощь или предложения будут высоко оценены.
Ну, моя лучшая помощь будет из google translate. До сих пор я делал то же самое, как чтение шестнадцатеричных значений (все возможные комбинации во всех возможных кодировках), а затем, если возможно, их замену на Unicode и т. Д. Вручную на бумаге, но копии юникода при вставке в google translate дают мне некоторые смешные переведенные слова. Итак, я подумал, может быть, я пошел в неправильном направлении. –
Например: слово Weekly хранится как ÖÜÆ ±. Когда я читаю его с кодировкой ANSI, я получаю «0xd6dcc6b1», с UTF-8 без спецификации «0xc396 0xc39c 0xc386 0xc2b1». Преобразование между этими ANSI и UTF-8 прекрасно, но это не настоящее слово, так как диапазоны Unicode не определены для серии C. –
@MuhammadHassan: Отсутствует точка. Вам нужно будет отредактировать исходные данные и переосмыслить их как UTF-16. Что такое символ Unicode для «Weekly»? – MSalters