Автор Тема: Подскажите тупому 1снику, с чем едят Юникод  (Прочитано 1908 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DoReMi

  • Админы
  • *****
  • Пол: Мужской
    • БЛОГОДОРЕМИЕ
Есть база в SqLite3. В ней текстуха в UTF-8.
Я выбираю записи через sqlte3_prepare() и sqlite3_step()
Текстовые поля получаю через *sqlite3_column_text() и пробовал через *sqlite3_column_text16()
Потом мне нужно записать этот текст в обычный текстовый файл в ANSI/Win кодировке.
Пишу "как есть", получаются вместо "умляутов" или русские буквы с кракозябрами или вопросительные знаки.

Шо делать?
Вы держитесь здесь,  вам всего доброго, хорошего настроения, здоровья. ©

Оффлайн itvdonsk

  • Волшебник
  • Пол: Мужской
    • itvdonsk
Re: Подскажите тупому 1снику, с чем едят Юникод
« Ответ #1 : 05 Декабря 2010, 16:39:34 »
Гугл нашел такое
Функция ПреобразоватьСтрокуИзУТФ8(Стр)
    Длина=СтрДлина(Стр);
    Итог="";
    Для Н=1 По Длина Цикл
        Знак=Сред(Стр,Н,1);
        Код=КодСимв(Знак);
        Если Код<128 Тогда
            Итог=Итог+Знак;
        ИначеЕсли (Код>=128)И(Код<192) Тогда
        Иначе
            Н=Н+1;
            Знак2=Сред(Стр,Н,1);
            Код2=КодСимв(Знак2);
            Если Код=208 Тогда
                Если Код2=129 Тогда Итог=Итог+"Ё";
                Иначе Итог=Итог+Симв(КодСимв("А")+Код2-144);
                КонецЕсли;
            ИначеЕсли Код=209 Тогда
                Если Код2=145 Тогда Итог=Итог+"ё";
                Иначе Итог=Итог+Симв(КодСимв("р")+Код2-128);
                КонецЕсли;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
    Возврат Итог;
КонецФункции
Крутизна программера — не в синтаксисе исходников, а в толщине его кошелька
Telegram Group