| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Проблемы с кодировкой имен файлов |
| Автор: kami 25.2.2011, 19:13 |
| Доброго времени суток, дамы и господа! Суть проблемы: имею приложение, сделанное в D7, запускаю на WinServer 2008 64bit. При запуске: 1) приложение не может найти нужные файлы, если в пути (или имени) файла содержатся русские буквы (выяснил экспериментальным путем) 2) заголовок формы и вся текстовка - крякозябры. За исключением VT (ну, с ним все понятно - оно ж использует WideString). Пункт 2 не критичен - приложение будет сервисом (но причину понять хотелось бы - кто знает, может у юзверей, которые сидят под Win2k/XP/Vista/Seven будут такие же проблемы) По пункту 1 - вообще ничего не понимаю. Ну, ладно, отображение - не совпала кодировка, исправлению не подлежит (это ж все ресурсы перекодировать. Или нет?). Но вот имена и пути к файлам... Тем более, что преобразование AnsiString>VT.WideString и обратно работает без проблем... Собственно - как можно исправить? (Переход на D2009 и выше уже рассматриваю). Админский доступ к серверу имею. |
| Автор: Snowy 25.2.2011, 21:14 |
| Панель управления - Язык и региональные стандарты - Дополнительно - Русский ? |
| Автор: kami 25.2.2011, 21:59 |
| Snowy, завтра проверю - из дома доступа к серверу не имею. Как можно программно получить доступ к этой функции? |
| Автор: CodeMonkey 25.2.2011, 23:48 |
| Ещё надо учесть, что учётка службы <> учётке пользователя. http://www.transl-gunsmoker.ru/2010/08/windows-2000.html http://www.transl-gunsmoker.ru/2010/08/windows-xp2003.html В общем, тебя ожидают длительные головные боли. Как исправить программно - смотри на базе какой функции или переменной выполняются кривые перекодировки. http://www.transl-gunsmoker.ru/2010/11/%D0%BA%D0%B0%D0%BA-%D0%BE%D0%B1%D1%89%D0%B8%D0%B5-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F.html http://www.transl-gunsmoker.ru/2010/12/ansi-unicode.html Попробуй руками вызывать W-функции, декодируя параметры сам. В общем, лучше как можно быстрее убраться с D7 на D2009+. |
| Автор: CodeMonkey 26.2.2011, 13:30 |
| (а некоторые ещё спрашивают - а нафига нам Unicode? и так всё работает |
| Автор: kami 26.2.2011, 13:40 |
| CodeMonkey, |