LinuxForum.Fans
Тема

Некорректное отображение файлов kwrite в Windows XP

Автор: Hmury 5 сообщений 1781 просмотров
#102810

Кто-нибудь обращал внимание, как открыаются в стандартном блокноте WinXP файлы, созданные в kwrite?
Имеется ввиду - некорректные переносы строк (точнее их отсутствие или замена на "просто какие-то символы")...
Переключение в настройках опции "Символ конца строки" на различные доступные варианты ничего не меняет совсем.
Под Windows 7 те же файлы открываются нормально.
Понимаю, что это скорее проблема WinXP, но все-таки

#102827
Hmury написал:
Кто-нибудь обращал внимание, как открыаются в стандартном блокноте WinXP файлы, созданные в kwrite?
Имеется ввиду - некорректные переносы строк (точнее их отсутствие или замена на "просто какие-то символы")...
Переключение в настройках опции "Символ конца строки" на различные доступные варианты ничего не меняет совсем.
Под Windows 7 те же файлы открываются нормально.
Понимаю, что это скорее проблема WinXP, но все-таки

http://news.mydiv.net/news/view-alternativy-standartnomu-bloknotu-Windows.html

#102838

ну во первых .. переносы строк в линукс и вин отличаются (в линукс это \n в вин \r\n)... во вторых кодировка в линукс utf8(по крайней мере в современных дистрибутивах)... к тому же блокнот при сохранении файлов в utf8 добавляет BOM ... и при чтении соответственно ищет его при определении кодировки файла....
ну в общем случае лучше просто в kate сменить символ переноса строки для этого файла ...

#102928

преобразование файла в DOS-переносы:

text
sed -i 's/$/\r/' файл

преобразование файла из венды к принятому формату в Linux:

text
sed -i 's/\r$//' файл

Впрочем, можно открыть в kate, выставить нужные переносы, CTRL+A CTRL+X
потом выставить другие переносы и CTRL+V. Что конечно не труЪ.
Есть и специально заточенные скрипты. Где-то у мну был универсальный (мак/дос/юникс->юникс) и (мак/дос/юникс->дос). забыл где, ибо - не нужно.

Да, в макинтоше строки разделяются \r, как всегда - огрызочники оригинальны.

#102931
odin написал:
во вторых кодировка в линукс utf8(по крайней мере в современных дистрибутивах)...

преобразование кодировки:
[console]iconv -f ОТКУДА -t КУДА файл_исходник > файл_цель[/console]
Если ОТКУДА или КУДА совпадает с ВАШЕЙ кодировкой, то её можно не указывать. Если кодировка системы неизвестна, её нужно не указывать - так бывает в скриптах, которые работают неизвестно где.

Учтите, что часто под юзером UTF-8, а под рутом - что-то там latin-...

Посмотреть какие кодировки поддерживает iconv можно
[console]$ iconv -l[/console]
(много букв)

Обратите внимание на iconv -c - очень полезно.

Войдите или зарегистрируйтесь, чтобы ответить.