Опять про кодировку русских букв.
Модератор: Модераторы
Оба файла нужно сохранить в кодировке просто "UTF-8", без BOM. Если Lazarus у вас достаточно новый, это можно сделать через контекстное меню редактора кода - Параметры файла - Кодировка. Если недостаточно новый, то через сторонний достаточно продвинутый текстовый редактор (например Notepad2, Notepad++ под Windows; Medit, Geany под Linux). А потом сделать так, как предлагают Mr. Smart и GAMER.
-
kirill
- новенький
- Сообщения: 22
- Зарегистрирован: 25.10.2010 19:40:45
- Откуда: Kaliningrad, RF
- Контактная информация:
Odyssey писал(а):Оба файла нужно сохранить в кодировке просто "UTF-8", без BOM. Если Lazarus у вас достаточно новый, это можно сделать через контекстное меню редактора кода - Параметры файла - Кодировка. Если недостаточно новый, то через сторонний достаточно продвинутый текстовый редактор (например Notepad2, Notepad++ под Windows; Medit, Geany под Linux). А потом сделать так, как предлагают Mr. Smart и GAMER.
Я ж говорю, что сделал разные (в том числе и с BOM и без). А также ANSI, CP1251 (правда так и не понял почему они отдельно?) и KOI-8R
kirill
У вас используется кодировка UTF-8 с BOM. Кажется были проблемы с BOM. Прилепляю файлы в кодировке UTF-8 без BOM.
У вас используется кодировка UTF-8 с BOM. Кажется были проблемы с BOM. Прилепляю файлы в кодировке UTF-8 без BOM.
У меня все русские слова нормально отображаются...
ОС - openSUSE 11.3. Lazarus 0.9.29 Qt, fpc 2.4.0
ОС - openSUSE 11.3. Lazarus 0.9.29 Qt, fpc 2.4.0
kirill писал(а):сделал разные (в том числе и с BOM и без).
Понял. Тогда
kirill писал(а):Перенёс проект из Дельфи.
как переносили? Если через конвертер Delphi-проектов, можно попробовать перенести без него.
-
kirill
- новенький
- Сообщения: 22
- Зарегистрирован: 25.10.2010 19:40:45
- Откуда: Kaliningrad, RF
- Контактная информация:
Mr.Smart писал(а):kirill
У вас используется кодировка UTF-8 с BOM. Кажется были проблемы с BOM. Прилепляю файлы в кодировке UTF-8 без BOM.
не помогло
Odyssey писал(а):как переносили? Если через конвертер Delphi-проектов, можно попробовать перенести без него.
Это не я переносил. Это я нашел топик, где такой вопрос уже задавали. Я написал новый проект с 0. Это мой первый проект на lazarus за последние года 2-3. Раньше с таким не сталкивался.
Кстати, может у меня проблемы из-за операционки - у меня Windows XP, а не Linux.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- dunin
- энтузиаст
- Сообщения: 634
- Зарегистрирован: 02.05.2007 13:18:11
- Откуда: Тољя††и
- Контактная информация:
Тэкс... похоже тут надо картинко... Поехали пошагово...
Открываем файл во вложении - привязываем его к пустому проекту получаем кракозябры

Меняем кодировку на UTF-8

На запрос об изменении файла соглашаемся

Получаем вот чего

Добавлено спустя 1 час 21 минуту 5 секунд:
ANSI - кодировка Виндуса
CP1251 - кодовая страница с кириллицей/рус
Если у вас установлена не русифицированная версия Виндуса, то ANSI <> CP1251
Общий случай - другая кодовая страница. Например (еще одни возможные грабли) - вы работаете в Linux с кодовой страницей UTF-8 и пытаетесь парсить файл в кодировка cp1251. По привычке используем SysToUTF8 - не работает. Сразу сообразив почему используем AnsiToUTF8 - упс... опять не работает. Тогда берем СP1251ToUTF8 (юнит LConvEncoding) и получаем нужный результат.
Открываем файл во вложении - привязываем его к пустому проекту получаем кракозябры

Меняем кодировку на UTF-8

На запрос об изменении файла соглашаемся

Получаем вот чего

Добавлено спустя 1 час 21 минуту 5 секунд:
kirill писал(а):А также ANSI, CP1251 (правда так и не понял почему они отдельно?)
ANSI - кодировка Виндуса
CP1251 - кодовая страница с кириллицей/рус
Если у вас установлена не русифицированная версия Виндуса, то ANSI <> CP1251
Общий случай - другая кодовая страница. Например (еще одни возможные грабли) - вы работаете в Linux с кодовой страницей UTF-8 и пытаетесь парсить файл в кодировка cp1251. По привычке используем SysToUTF8 - не работает. Сразу сообразив почему используем AnsiToUTF8 - упс... опять не работает. Тогда берем СP1251ToUTF8 (юнит LConvEncoding) и получаем нужный результат.
