корректный переход с utf-8 на koi8r
C рождения стоял UTF8 и не парился.
Пока не возникла необходимость вплотную заняться вебсайтом.
Кодировка кои8, 99% правки - в mc.edit
Возникла проблема - комАндер отказался понимать и писать в кои8, ни в "чистой" консоли, ни в гуевой, выбор кодировки через ctrl+T просто игнорируется, если и пишет по русски, то сохраняет в utf8 внезависимости от выбранной кодировки.
Пришлось переходить на КОИ.
Набор действий - все упоминания утф поменял на кои, а именно:
1)rc.conf
UNICODE = "no"
2)02locale
LANG="ru_RU.KOI8-R"
3)consolefonts
CONSOLEFONT="cpp866-8x16"
CONSOLETRANSLATION="koi2alt"
4)keymaps
KEYMAP=""ru4"
DUMPKEYS_CHARSET="koi8-r"
5)grub.conf
kernel ...bla-bla-bla... vt.default_utf8=0
6)USE="-unicode" emerge mc
==============
Всё везде заработало... почти...
Появились две новые проблемы.....
(не считая того, что все прежние буковки в русских названиях файлов - теперь кракозяки - то это мелочи и в принципе лечится)
1) Открываю рускоязычную страницу в инете.... (например win1251) и сохраняю на диск
Опера и Конкуер - сохраняет без проблем - пишет по русски как надо
Файрфокс и Сиамонкеу - пишут кракозябицу (в utf8 как я понял эти кракозябли)
пересборка последних к измению в поведении не привела.
2) Есть диски ntfs и vfat (и самба)
пришлось внести изменения в fstab
=============
####кракозябли тут
###/dev/sda3 /mnt/disk_c vfat user,iocharset=cp1251,noatime,umask=000,quiet,showexec 0 2
# нормально тут
/dev/sda5 /mnt/disk_d vfat user,iocharset=koi8-r,noatime,umask=000,quiet,showexec 0 2
/dev/sda6 /mnt/disk_e ntfs-3g user,umask=0,locale=ru_RU.KOI8-R 0 2
#так было раньшее и стали кракозябли в локали кои
###/dev/sda3 /mnt/disk_c vfat user,iocharset=utf8,noatime,umask=000,quiet,showexec 0 2
###/dev/sda5 /mnt/disk_d vfat user,iocharset=utf8,noatime,umask=000,quiet,showexec 0 2
###/dev/sda6 /mnt/disk_e ntfs-3g user,umask=0,locale=ru_RU.UTF-8 0 2
============
вот тут я не догнал немного....
диски виндовые, создавались давно и вне генты, по сетке нормально видятся и пишутся\переписываются русские имена (и раньше, и теперь)
так какого ху... она (гента) заставила поставить кодировку кои8 - не догнал ;( должно же быть 1251 или чего-то недочитал?
С дисками ладно, работают (и видятся в самбе) нормально - так пусть хоть катайская кодировка стоит - мне как бы все равно...
но вот с сохранением русских имен на диск....
вдруг еще где всплывет когда и ждать не будем...
Дело в том, что кеды не пересобирались после смены локали и может они где в своих мозгах и помнять про utf - но я не нашел ни одного упоминания и все работает корректно и в кои8 насколько я могу судить по внешним признакам...
Есть мысль для излечения файфокса, сеамонкей и кде(?) - поставить глобальный флаг -unicode в make.conf и пересобрать мир.
Но опасаюсь что это может быть чревато последствиями (например не смогу просматривать файлы с utf-начинкой, перестанет 1С работать, самба заглючит или чего там еще )
как быть в этой ситуации?
PS
gentoo-2.26.25-r7
mc-4.6.1.-r4
world - сборки от 05.09.08
vim или emacs вместо mc
а не проще ли было поменять редактор на vim/gvim или emacs
трогал
трогал вим - не понравился своей заумностью
gvim - с таким же успехом можно и kwrite юзать (что и делалось по первости - но достало по самое нехочу)
emacs - не видел. он такой же простой до опупения как mc.edit? мне навороты не нужны - главное чтоб можно повесить на F4 у mc и чтоб был интуитивно понятен.
обидно будет развернуть пакет чтоб потом в корзину выбросить.
Очень часто надо заскочить на сервер gj ssh подправить пару строк-предложений на русском и усё.
сервер (инетовский) - на кои8 и необсуждаемо.
теперь вот с локальным надо найти общий знаменатель
Проще уж тогда
Проще уж тогда найти простенький редактор
nano попробуйте.
почти
почти то, чё надо - вот только не нашел где кодировку менять на лету ;(
по сути надо
по сути надо выбрать правильный консольный редактор и проблемы все уйдут.
Правильно?
по сути - правильно
правильно.
и путь, вроде, известный - по хэндбуку ... со всеми остановками .....
но вот - не получается.....
Толи хендбук коварно обманул, толи руки распрямлены в обратном направлении ;)
Последний "рабочий" вариант.
Сервер UTF, локальная (персональная) машинка - koi8
вход ssh на сервер, LANG-"KOI8-R", далее mc
далее все работает как надо, символы корректны, сохраняется как надо и в нужной кодировке.
добиться того же на локальной машине - пока не получается.
как гласит хендбук - для каждого отдельновзятого юзера (ака консоли) можно держать свою отдельно взятую кодировку.
на практике реализовать не получается.
дефолтная кодировка - UTF8
далее шел двумя путями - отдельный скрипт для запуска мс с изменеием кодировок налету и прописание LANG, CONSOLETRANSLATION и т.п в хуме директории для логинистого юзера
.bashrc
и тут - бардак !!!
фонты грузятся, грузятся правильно, но подружить символы на экране с символами от клавы - не получается
пробовал отключать utf в ядре, rc.conf, грузить разные шрифты в разных комбинациях с разными keymap
но получить что-либо приемлимое не получилось
как я понял - только то и нужно, что подобрать правильную связку - consolefont + consoletranslation + keymap
и дело не только в мс.
тот же nano ведет себя также.
а хендбук грит - можжжжннна !!! ;)
а мы (я) верим в библию... ака хендбук ;)
теперь осталось малость - руки выпрямить.....
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
машина думать не может - машина должна ехать
Все же советую
Все же советую посмотреть на vim и чтобы долго не думать начальный настройки
.vimrc
По F2 сохранять, по F8 выбор кодировки и там же можно сохранить в нужной кодировке.
Ну и помнить надо что i для режима редактирования.
сенкс
спасибо за проявленную настойчивость и конструктивную помощь
поставил вим и еще раз посмотрел....
в качестве костыля - это пожалуй едиственный вариант пока
проблемка одна - не нашел опцию запуска чтоб указать на старте кодировку входного файла, хотя и ман и тутор прочитал туда и назад. но это лечится
почему костыль.
- функционал программы намного превосходит требуемые функции и многое и непривычное надо будет запоминать
- стиль - классический *nix-way, а когда 20 лет провел за nc -> vc -> far то пальцы-руки думают\действуют быстрее мозгов
(20 лет - это не метафора)
после пробы появилась мысль (что по сути делает и вим)
зашить в пользовательское меню mc две команды
соде -> uf8
декоде из utf
(хотя - это тоже костыль ведь ctrl-T для этих целей и предназначен)
тогда можно будет и встроенным редактором mc пользоваться
а уж по мере свободного времени - докурить почему локали не встают на локальной машине
спасибо за костыль... и за свет в конце тонеля
;)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
машина думать не может - машина должна ехать
Вот и vim
Вот и vim костылём обозвали... Жуть.
Кстати, неужто с mc нельзя поставить на F4 сторонний редактор?
Пожалуйста, не описывайте своё железо в подписи
не со зла
"костыль" - это потому, что решение через попу, а не решение главной проблемы (заставить работать то что и так работать должно)
но это - не со зла ;)
на F4 вешается без проблем - тут сугубо личная психологическая проблема
пальцы помнят "распальцовку" и комбинации не глядя на экран - переход с фара на комАндер гораздо проще чем на вим (и любой другой)
даже поюзав 5 минут - я понял почему так любят вим - но пушка не нужна там где можно обойтись рогаткой, имхо
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
машина думать не может - машина должна ехать
vim --cmd "edit
По сути *nix-way это использование iconv
согласен
сенкс
протупил
не сразу догнал, что это можно не ручками набирать, а в меньшку вставить
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
машина думать не может - машина должна ехать
Есть такое
Есть такое мнение, что просто надо было добавить локаль для koi8-r и запускать mc с ней
Пожалуйста, не описывайте своё железо в подписи
проба пера
#LANG="ru_RU.KOI8-R"
#mc
shift+F4
капслук .... и больше не захочется
пробовать
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
машина думать не может - машина должна ехать
.
ИМВХО даже корректный переход с utf-8 на koi8r - некорректный способ решать проблему
"У меня utf-8. Как мне удобно работать с файлами на koi8r?".
А уж некорректный переход с utf-8 на koi8r - совсем не дело.
P.S. Извините, что критика неконструктивна - у меня Только utf-8,
и за год не возникло нужды записывать в другое, а в чтении мне помогал enconv
А сайт в utf
А сайт в utf перегнать не пробовали? Вообще, делать сайты в mc - суровость просто. В наш прогрессивный XXI век уже давно используют специализированные DE, для которых сохранение документов в нужной кодировки - тривиальная задача.
_______________________
From Siberia with Love!
ничего личного
если б это масквичи пасаветавали - то еще бы было понятно...
но чтобы - .....из Сибири .... да еще - с любовью.....
;)
теперь понятно откуда берутся мегатонные странички с тремя осмысленными предложениями на ней
;)
в шестисотом мерседесе по бездорожью?
поверьте, простой рассейский уазик в болоте - самое то!!! ;)
Я не спрашивал - как сохраниться в нужной кодировке в монстроподобных бяках....
Я спросил (в том числе)
Как заставить мс сохраняться в кои8 (вынь1251) если главная локаль utf8 ?
А вовсе не о том какой есть кде веб деволепмент......
Если я пишу слово их трех букофф - то мне не очень нравится что это безобразие сохраняется в 6 байтов...
Мне не места на диске жалко....
мне - безобразие не нравится....
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
машина думать не может - машина должна ехать
Пфы
gzip уже вышел из моды, видать, а зоопарки кодировок снова в неё вошли.
Мне это как бы ни о чём не говорит, ибо ни KOI8-R, ни mc на рабочей машине не держу.
Пожалуйста, не описывайте своё железо в подписи
А вы не боитесь,
А вы не боитесь, что если что-то случится с сайтом, вы рискуете все потерять? Заюзайте какую-нить систему контроля версий, а они уже вполне сравляются с конвертацией (subversion так точно). А вообще - самое простое и правильное - это сайт на UTF-8
Насчет 2 байт - боюсь вас огорчить. Некоторые символы записываются 3 байтами, а совсем редкие - 4 мя. UTF-8 - кодировка с переменной длинной. Т.е ASCII символы записываются 1 байтом (так что можете не боятся, что ваш html код вырастет вдвое), более того, они совместимы с 90% базовых кодировок, так что если человек зайдет на страницу с UTF-8 с броузера без поддержки UTF-8 - то ломанными у него окажутся только тексты, а не вся html структура.
Переход с koi8-r -> utf-8 еще ничего, а вот наоборот я бы не советовал - опять же упомянутые вами файлы (кто??? Кто догадался сохранять файлы с русскими названиями??), куча других проблем. Да и вообще - utf8 становится стандартом, скоро даже буржуи на него перейдут. В стейжах он по умолчанию, в файловых системах современных все хранится в юникоде. Не отставайте от жизни - utf-8 рулит =).
Если все же вам так хочется иметь сайт в koi8-r (почему тогда не в cp1251, которая более распространнена на просторах рускоязычного интернета?), то что вам мешает сделать скрипт который будет
а) вызывать enca -x KOI8-R -L ru на весь сайт
б) tftp ...
Пользоватся mc'евым ftp не советую - он крив до безобразия. А вообще если оценивать редакторы по принципу "туп до безобразия" - заюзайте тогда kate, оно умеет писать в нужной кодировке.
З.Ы. Вашей агрессии насчет Сибири и москвичей я как-то не понял. Вам посоветовали толковую вещь, если она вам неприемлима по каким-то объективным соображениям, или по религиозным принципам, я уж не знаю, то это еще не повод огрызатся на других людей и уж тем более на такие большие группы людей, как "москвичи" и на целые области типа "Сибирь". Честно говоря такая реакция вызывает стойкую ассоциацию с украинскими трупатриотами... Вы не из рядов случаем?
З.Ы.Ы. А вы в /etc/locale.gen KOI8-R вообще добавили? =)
спасибо, други....
вопрос резервного копирования и контроль версий - это не по теме топика
Делать рускоязычный сайт со 100% ориентацией на российскую аудиторию (из которых 99,9 - по виндой) в кодировке на utf - это предел тупизма или непрофессионализма, имхо.
правильно сделанный сайт, в любой исходной кодировке, правильно отдаст клиенту контент в любой запрашиваемой кодировке.
в любой исходной кодировки - за исключением utf.
когда я только начал осваивать генту и под руками была только чистая консоль и lynx - мне не раз и не два пришлось помянуть "добрым" словом тех криворучек, которые только и могут отдавть свои страницы в utf8 и никак иначе. Я целый месяц сидел на линксе и проблему совместимости русского с русским в полной мере ощутил на собственной шкуре.
UTF оправдан в одном и только в одном случае - на одной странице присутствует текст из разных языковых групп или язык иероглифичный.
в остальных случаях - должна быть однобайтная кодировка.
это мое мнение, другие меня не интересуют.
будем считать это - религией ;)
не огорчили....
как ни странно - но я это знал....
это я вас огорчу - любая русскоязычная страница из кодировки utf безболезненно "сжимается" более чем на 50% в любую однобайтную (кои,вин)
так зачем по сети гонять лишний траффик? так зачем МНЕ (потребителю) платить больше? (за входящий траффик)
пока в Росссии не научатся считать копейки - от плохих дорог не избавимся....
а этот пёрл мне особо понравился ;)
>>> так что если человек зайдет на страницу с UTF-8 с броузера без поддержки UTF-8 - то ломанными у него окажутся только тексты, а не вся html структура
Человеку плевать на мою хтмл-структуру - у него КОНТЕНТ слетел и не отобразился.
и я вас возможно огорчу - но на ЛЮБОЙ(!!!) странице главное - контент, а не хтмл-разметка ;)
лично я согласен просматривать этот(и/или другой) форум даже формате *.txt лишь бы не видеть "рюшечек" в виде голых задниц и сисек.
но это - религия уже ;)
только после буржуинов....
когда они повсеместно пересядут на утф - я еще подумаю - а правильно ли они поступили ;)
я вас огорчу - но даже в стейджах UTF еще не принят как стандарт и как великий и могучий повсеместно...
так что - подождем еще немного....
Поясню.
Есть группа сайтов на BSD в кои8
Есть группа сайтов на Гентоо в вин-1251
Есть локальный (офисный) сервер с зеркалом всех этих сайтов
Есть флэшка в кармане с putty & FAR для того чтоб в любой момент с любой подручной винды добраться до сайтов для оперативной правки контента.
Сайты существуют не один год и привязаны к мускульным базам, которые в свою очередь привязаны к локальным кодировкам.
Есть офисная сетка где файлы гуляют с названиями файлов в русской, китайской, корейской и японской кодировках и, к сожалению, не все наши офис-манагеры в достаточной мере владеют альтернативным нерусским языком чтоб избавться от русских букофф в именах файлов. Так что для сервера(офиса) как бы сам собой напрашивается вариант - UTF и альтернатив как бы нет.
но что делать со мной? как СЕБЕ облегчить жизнь, общаясь со всем этим зоопарком?
То, что проблему "внутренних" кодировок можно решить через гуевый интерфейс - мне это прекрасно известно и не надо объяснять про масленное масло.
Но я 90% времени провожу в терминале и каждый переход в гуи для правки 1-2 слов - ну просто как ножом по .... сами знаете где....
Весь рабочий стол - это почтовик, броузер и 4 терминала (диск,сервер, 2 инет-сервера)
и чем меньше телодвижений - тем лучше.
А гуи к тому же постоянно норовят напомнить что есть такое понятие - как "права доступа" (понятное дело, что в гуях я не под рутом сижу)
про масквичей - это шутка юмора с долей грустной иронии, основанной на личном негативном опыте, а вовсе не агрессия ;)
не раз приходилось добираться до внутренней начинки сайтов с базовой кодировкой в utf8 - так вот всегда эти сайты были сделаны москвичами (по прописке), сделаны во фронт-пейдже или ворде(!) ;)
в остальном - ничего личного ;)
тем более - агрессивного ;)
спасибо, други, за проявленное внимание....
но как я понял - проблема "стояния на ушах" - сугубо индивидуальная проблема...
тем более - стоять приходтся на собственных ушах....
Эх, нелегка же доля простого российского офисного админа из зачухлой рассейской глуши.... ;(
эх.....
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
машина думать не может - машина должна ехать
В
В мемориз!
Такой ленности и высокомерию позавидовал бы сам дядюшка Ларри Уолл!
_______________________
From Siberia with Love!
+1
несомненно!
А я поддерживаю
А я поддерживаю и "плюсую в репутацию".
Потому как за формой, до которой, собственно, все и докопались,
стоит продуманное содержание.
И осмысление своих действий.
Поддерживаю всеми руками, короче.
P.S. Кстати, это характерно, что я - тоже
"типа немодный админ из глубинки"? :)
---
Делай, что должен, и будь, что будет.
omg... Вообще как
omg...
Вообще как бы utf8 это стандарт а то что его кривые браузеры не отображают это как бы проблемы браузеров а не кодировок.
___________________________________________
Gentoo GNU/Linux 2.6.26 GCC 4.3.1
Working on Gentoo for iPAQ hx4700 :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера
товарищь
товарищь экономит байты :)
gzip не осилить, вот и создаёт проблемы для себя и стальных (автору топика читать http://wiki.compowiki.info/ChtoTakoeGZIP ).
Вы все так и не ответили на
Вы все так и не ответили на конкретный вопрос:
mc в локали KOI-8 без проблем встроенным перекодировщиком переключает кодировку текста на любую как в листере, так и редакторе
а в локали UTF встроенный перекодировщик не работает
Как сделать чтобы работало?
Данная особенность меня также остановила от перехода на UTF
Где-то тут инфа про
Где-то тут инфа про обновленный (со включение кучи патчей) mc пробегала
Нужно подключить оверлей обновить mc и вроде там эти проблемы уже решены.
есть в оверлее rostov
есть в оверлее rostov
Если экономишь
Если экономишь трафик, освой mod_deflate. И экономь трафик.
А раз такой умный, то скажи, что делать с ftp и mp3 у которых не предусмотрено поле, показывающее, в какой кодировке хранить тексты? Я вот на своем ftp сделал по RFC utf-8 и пусть виндузятники гемороятся и ставят таки себе filezill'у, которая с utf-8 работает.
ОДна кодировка на все - нет проблем. Зоопарк кодировок - проблемы. Если сможешь убедить весь мир использовать koi8-r - я за. Не сможешь - используй utf-8.
Да уж...
Да уж... Для того, чтобы лабать текст в KOI человек себе
СИСТЕМУ(!!!!) переделывает... Ужас... При этом гордо
говорит, что он "консольная душа" и крутой "одмин". При
этом бубнит, что ему костыли предлагают и не хочет вникнуть
ни в vi ни в emacs. Представляю... :D
_________________________________________________________
Прежде чем задать вопрос, подумай, сможешь ли ты понять ответ.
Чувствую тему пора
Чувствую тему пора ламинировать. А то все поцапаются
ЗЫ весь миру уже давно юзает UTF-8 и никому не нужен зоопарк кодировок.
___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера
Уж четыре месяца, как всё
Уж четыре месяца, как всё заглохло (-:Е
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
.
Дык не подавай пример :)
Проблема в том, что UTF-8 точно также, как и KOI8-R не удовлетворяет требованиям к единственной кодировке.
Главное её "преимущество" - совместимости с ANSII (ищи кому выгодно).
:wq
--
Live free or die