Модератор: Модераторы
Vadim писал(а):Надо просто переводить UTF-8 в обратно в системную кодировку с помощью UTF8ToSys(Русское_название).
Azzx писал(а):Имхо - мне дела нет до внутреннего представления строк...
Azzx писал(а):Vadim писал(а):Надо просто переводить UTF-8 в обратно в системную кодировку с помощью UTF8ToSys(Русское_название).
Дык фокус-то в том, что и компоненты открытия файлов не работают.
Окромя того - с какой стати я его должен конвертировать? Имхо - мне дела нет до внутреннего представления строк...
Azzx писал(а):UTF-8 + FileExists() - бага?
Vadim писал(а):Давайте я Вам подробненько напишу:
Операционная система Windows работает с системными кодировками - либо ANSI, либо Unicode. Lazarus работает с кодировкой UTF-8. Сделано это для кроссплатформенности, поэтому кивать на то, что Вам конкретно это неудобно, не надо.
Какой из этого следует логический вывод? Если Вы собираетесь что-то передавать ОС - например имя файла для открытия или поиска, то передавать Вы должны именно в системной кодировке, а не как-нибудь ещё. Вы не согласны?
Mr.Smart писал(а):Эта не бага - это фича
Azzx писал(а):Как они внутри хранятся - мне не важно для использования.
Vadim писал(а):Вы сейчас и пожинаете плоды этого самого "не совсем". Если Вам это не нравится - не занимайтесь
Vadim писал(а):И строка - это не абстракция. Для компьютера это самая что ни на есть конкретика. И для Вас, как для программиста, тоже. Неужели ещё не убедились?
Сам бы я выбрал компромиссное решение - все строки жёстко сделать UNICODE - как наиболее общий вариант из существующих.
Azzx писал(а):А почитать где-нибудь про неё можно? В смысле - официальные источники/рекомендации и т.п.?
Azzx писал(а):Не можу... мне за это деньги платят...
Azzx писал(а):Сам бы я выбрал компромиссное решение - все строки жёстко сделать UNICODE - как наиболее общий вариант из существующих.
Mr.Smart писал(а):А вы считаете это будет честно по отношению к системам с "локалью" UTF-8?
В данном случае UTF-8 был выбран в качестве общего варианта.
Alexx2000 писал(а):На самом деле вся проблема в том, что Lazarus сейчас полностью перешел на Unicode (а конкретно на UTF-8). А FPC RTL, остался не юникодным, из-за этого и приходится использовать такие вот костыли.
Vadim писал(а):Тогда вникайте в тонкости - денег будет больше.
Vadim писал(а):Сейчас как раз идёт переход на UNICODE. Другое дело, что этих самых UNICOD'ов - вагон и маленькая тележка. И один из них - UTF-8. Когда с кодировками всё устаканится - проблем со строками не будет.
Azzx писал(а):UTF-8 - это способ кодирования, далеко не всегда удобный, кстати.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 41