Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/47: Рейтинг темы: голосов - 47, средняя оценка - 4.91
2 / 2 / 1
Регистрация: 01.03.2011
Сообщений: 12
1

При попытке открыть файл, в пути которого есть символы на кириллице, возникает ошибка: Unable to open file

23.10.2011, 12:23. Показов 9493. Ответов 15
Метки нет (Все метки)

Добавил на форму OpenDialog, Memo.
При попытке открыть файл в пути которого есть символы на кириллице возникает ошибка Unable to open file.

Как исправить?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.10.2011, 12:23
Ответы с готовыми решениями:

При запуске программы возникает ошибка "Unable to open file 'COS.obj'"
вот текст программы :#include <stdio.h> #include <conio.h> #include <string.h> int main (void)...

Unable to open file(Не удается открыть файл)\tdc.obj
У меня не открывается программа на ассемблере. Открываю через Far выдает ошибку Unable to open ...

Ошибка failed to open stream: No such file or directory in (ну на самом деле файл есть по данному пути)
подскажите как исправить данную ошибку Warning:...

Ошибка при соединении с БД SQLite: Unable to open database file
Здравствуйте. Пишу на С# в VS 2013. Нужно подключиться к локальной базе. Есть следующий код:...

15
36 / 36 / 7
Регистрация: 08.01.2011
Сообщений: 137
24.10.2011, 09:48 2
Скорее всего (если вы работаете в Windows), это связано с разлчиями между кодировками.
Lazarus работает с кодировкой UTF8, в Windows же по умолчанию CP1251. Проблемы связанные с кодировкой уже разбирались в этой ветке, посмотрите.
1
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 57
02.12.2015, 12:27 3
У меня таже проблема.
Ссылку дайте пожалуйста на решение проблемы.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31465 / 20512 / 7988
Регистрация: 22.10.2011
Сообщений: 35,628
Записей в блоге: 7
02.12.2015, 14:03 4
Alexandr_777, используй Utf8ToSys(путь_к_файлу) для конвертации кодировки в пути к файлу. Хотя на новых версиях Лазаруса, при использовании LoadFromFile/SaveToFile, это уже не нужно.
0
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 57
29.12.2015, 02:40 5
volvo, У меня проблема сейчас со строками.
После загрузки через TStringList и присваивании переменной widestring для будущего парсинга у меня вместо русского отображаются иероглифы.
пОДСКАЖИ ЧТО НУЖНО ДЕЛАТЬ. пЕРЕПРОБЫВАЛ utf8tOsYS И АНАЛОГИЧНО SysToUtf8 непомогает
Вот код:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
...
var sl:TStringList;
 i1, l1, i2, l2:Integer;
  ws:widestring;
begin
  sl:=TStringList.Create;
  sl.LoadFromFile(ParamStr(0)+'.xml');
  //ws:=sl.Text;
  //ws:=UTF8ToSys(sl.Text);
  //ws:=SysToUTF8(sl.Text);
  i1:=Pos(GetTextALAULNC('<FileNameDuneHack>', l1, acLower), AnsiLowerCase(ws));
  i2:=Pos(GetTextALAULNC('</FileNameDuneHack>', l2, acLower), AnsiLowerCase(ws));
  PathDuneHack:=ExtractFileDir(Copy(ws, i1+l1, i2-(i1+l1)));
  FileNameDuneHack:=Copy(ws, i1+l1, i2-(i1+l1));
  i1:=Pos(GetTextALAULNC('<FileNameEmulator>', l1, acLower), AnsiLowerCase(ws));
  i2:=Pos(GetTextALAULNC('</FileNameEmulator>', l2, acLower), AnsiLowerCase(ws));
  FileNameEmulator:=Copy(ws, i1+l1, i2-(i1+l1));
end;
0
571 / 525 / 201
Регистрация: 24.01.2012
Сообщений: 1,296
29.12.2015, 08:00 6
А какая версия lazarus?
0
45 / 19 / 5
Регистрация: 29.12.2015
Сообщений: 1,720
29.12.2015, 10:37 7
edukra, v 1.4.4
0
Хитрая блондиночка $)
1466 / 981 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
29.12.2015, 10:41 8
Цитата Сообщение от IRomanKozlov Посмотреть сообщение
ошибка Unable to open file.
У меня в Лазаре 124 таких проблем не замечено.
Покажи код, коим ты файл открываешь и считываешь.
0
571 / 525 / 201
Регистрация: 24.01.2012
Сообщений: 1,296
29.12.2015, 12:12 9
В версии 1.4.4 функции UTF8ToSys и SysToUTF8 еще работают. Значит - либо сам xml файл не в кодировке 1251, а в какой-то другой. Либо где-то в коде программы ошибка.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31465 / 20512 / 7988
Регистрация: 22.10.2011
Сообщений: 35,628
Записей в блоге: 7
29.12.2015, 13:58 10
Цитата Сообщение от Alexandr_777 Посмотреть сообщение
После загрузки через TStringList
Ну если у тебя файл в кодировке UTF8, то почему TStringList? Что, TStringListUTF8 просто так, для красоты ввели в библиотеку?

А если кодировка - НЕ UTF8, то прикрепляй пример XML-файла, телепаты здесь не водятся.

Если файл в 1251 - то
Pascal
1
ws := CP1251ToUTF8(sl.Text); // uses LConvEncoding
0
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 57
29.12.2015, 14:49 11
volvo, Фишка в том что файл может быть в любой кодировке. Как и utf8 так и виндовская кирилица
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31465 / 20512 / 7988
Регистрация: 22.10.2011
Сообщений: 35,628
Записей в блоге: 7
29.12.2015, 17:57 12
В таком случае тебе придется мириться с кракозябрами при парсинге. ИИ, который определял бы, в какой именно кодировке файл, еще не изобрели. Попробуй еще GuessEncoding из модуля LConvEncoding, но я ни разу не уверен, что она отработает для любых кодировок.
0
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 57
29.12.2015, 18:39 13
Почему любых. Как правило это ANSI или UTF8 вО ВСЯКОМ СЛУЧАЕ ОСТАЛЬНЫЕ НЕИСПОЛЬЗУЕТСЯ. Ну есть еще 1 файл непонятно в какой кодировки так как Notepad++ ее неопределяет но прекрасно все отображает.

Добавлено через 8 минут
А разве проверка на кодировку файла нет встроеных функций.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31465 / 20512 / 7988
Регистрация: 22.10.2011
Сообщений: 35,628
Записей в блоге: 7
29.12.2015, 18:52 14
Нет, встроенных функций, проверяющих кодировку файла, нет. Пробуй GuessEncoding для строки, уже прочитанной из файла: Text encoding
0
0 / 0 / 0
Регистрация: 04.04.2017
Сообщений: 2
04.04.2017, 22:03 15
а на графические файлы это тоже распространяется? (штука с кодом)
сначала все было нормально, все работало, пришла к учителю-работает, пришла домой-не работает
0
0 / 0 / 0
Регистрация: 19.07.2013
Сообщений: 40
02.05.2019, 00:08 16
Подобная ошибка возникает ошибка при попытке "открыть загруженный пакет". Как можно решить данную ситуацию?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.05.2019, 00:08

Ошибка при компиляции проекта из Builder 2010 в XE3 — Unable to Open file 'ALIASREC.OBJ'
Новые проекты создаются и компилируются без проблем, а вот при загрузке любого, самого простого...

Ошибка Unable to open file
Добрый день. Недавно начал изучать С++. Мне интересна библиотека SFML. Так вот при создании...

Ошибка Unable to open OBJ file
Добрый вечер возникает такая проблема: скорее всего там имя файла.obj, как его получить?

Ошибка при компилировании проекта. [Linker Fatal Error] Fatal: Unable to open file '*.OBJ'
Ребят, при компилировании проекта вылезает ошибка Fatal: Unable to open file 'ACPNG.OBJ' ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru