Ф-ция Utf8ToWinCp из LazUtf8 на Win7 и Win10 [Решено]

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Владимир
постоялец
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Ф-ция Utf8ToWinCp из LazUtf8 на Win7 и Win10 [Решено]

Сообщение Владимир »

Всем доброго!
Собрал проект на Win7, где логи пишутся в файл с использованием Utf8ToWinCp - все Ок.
Запускаю проект на Win10 - в логах кракозябры...
Пробовал в проекте под Win7 Utf8ToSys - в логах стали кракозябры...
И еще - если проект собрать на Win10, то в логах с Utf8ToWinCp - все Ок.
Под Linux (понятно, без Utf8ToWinCp) все Ок.
Куды бечь?
Последний раз редактировалось Владимир 19.12.2017 16:54:43, всего редактировалось 1 раз.
Аватара пользователя
wofs
постоялец
Сообщения: 379
Зарегистрирован: 05.10.2009 10:16:55
Откуда: Астрахань
Контактная информация:

Сообщение wofs »

Владимир писал(а):Под Linux (понятно, без Utf8ToWinCp) все Ок.

Хм... а под вин разве не UTF8 нынче?
Владимир
постоялец
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Сообщение Владимир »

wofs писал(а):Хм... а под вин разве не UTF8 нынче?

Вот не знаю. Повторюсь - собранный проект на Win10 c Utf8ToWinCP - все Ок.
Получается - cp1251?
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3071
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

Сохранять логи в utf8. Винда от семерки и выше прекрасно читает и пишет utf8 текстовые файлы.
Владимир
постоялец
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Сообщение Владимир »

Снег Север писал(а):Сохранять логи в utf8. Винда от семерки и выше прекрасно читает и пишет utf8 текстовые файлы.

Т.е. предлагаете не использовать Utf8ToWinCp? Так под Win7 логи в кракозябрах.
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3071
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

Владимир писал(а):Т.е. предлагаете не использовать Utf8ToWinCp?

Код: Выделить всё

uses LazUTF8Classes;
 
TStringListUTF8.LoadFromFile();
TStringListUTF8.SaveToFile();   
Владимир
постоялец
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Сообщение Владимир »

Спасибо! Буду пробовать.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

Владимир
Блокнот (на вин7) UTF-8 файл с русскими буквами смотрит без всяких кракозябров, проверено.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Vadim, это не говорит о наитивной поддержке каких-либо кодировок. Лишь о хорошей функции анализа текущей кодировки.
Владимир
постоялец
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Сообщение Владимир »

Проблема решилась: не хорошо писать в текстовый файл из секции try-except

Код: Выделить всё

....................
try
MySqlConnection.Connected:=True;
except
SaveLog(....);//вот так делать не хорошо
end;
slyubez
постоялец
Сообщения: 186
Зарегистрирован: 31.03.2015 07:44:07

Сообщение slyubez »

Блокнот (на вин7) UTF-8 файл с русскими буквами смотрит без всяких кракозябров, проверено.

Только если в начале файла есть BOM. СтрингЛист в Лазаре его не пишет.
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

не хорошо писать в текстовый файл из секции try-except
чего :shock:
Может вы что то не то сделали в SaveLog? Может вообще логи писать не найс?
И если использовать переконвертацию то более стандартным способом есть: UTF8ToCP1251.

п.с.
А вы уверены что Utf8ToSys и Utf8ToWinCp работают как вам хотелось?
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Владимир писал(а): не хорошо писать в текстовый файл из секции try-except


То есть, в логах не должно быть самой нужной информации? (а ради сбоев, собственно, логи и нужны).

pupsik писал(а):А вы уверены что Utf8ToSys и Utf8ToWinCp работают как вам хотелось?


Первая точно работает не как хотелось.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

slyubez писал(а):Только если в начале файла есть BOM.

Вообще-то без БОМ у меня блокнот русские буквы тоже правильно показывает. Может это косяк винды? :-)

Добавлено спустя 1 минуту 58 секунд:
Лекс Айрин писал(а):это не говорит о наитивной поддержке каких-либо кодировок. Лишь о хорошей функции анализа текущей кодировки.

Так я с этим и не спорил. Просто блокнотом можно без напрягов (и перекодировок) смотреть файлы с UTF-8. Правда если только перенос строк виндовый... ;-)
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Vadim писал(а):Так я с этим и не спорил.


В контексте разговора так не казалось.
Ответить