< HomePage | Снимки
<- Четвъртък, 23 Октомври 2008 | Начална страница | Събота, 25 Октомври 2008 ->
Петък, 24 Октомври 2008

Всяко обновяване на любимия ми файлов мениджър и текстов редактор midnight command (mc/mcedit) е съпроводено с неприятни впечатления. Почти не е минавал път без нещо да се счупи. Последното обновяване, не беше по-различно. Оказа се, че не мога да редактирам файлове с кирилица вътре, което е най-малкото неудобно защото няма как да пиша тук ;)

Най-бързо оправих проблема с export LC_ALL=bg_BG.cp1251. С това редактора проработи, но пък и интерфейса стана на български, което е далеч от личните ми представи за използваемост. След няколко псувни, в крайна сметка намерих решение, което ми позволява кирилицата да ми работи в mcedit и интерфейса да не е на български.

Магическата комбинация е:

unset LANG
unset LC_ALL
export LC_CTYPE=bg_BG.cp1251

Двата unset-а са нужни, защото когато LANG или LC_ALL са настроени те презаписват всички други отделни настроийки за локализация (LC_CTYPE, LC_NAME, LC_ADDRESS, etc...), а LC_CTYPE е променливата, която странно защо midnight commander е започнал да използва, за да решава дали ще ми показва кирилицата в редактора. В старата версия всичко си работеше перфектно с LANG=bg_BG ; LC_ALL=C, но в новата някой е пипнал където не му е работа.

[ Коментари: 9 ]
Коментари

По принцип от опит знам, че езика на интерфейса се влиае само от LC_MESSAGES, а езика на писане в програмата от LANG :)

Написа Милен (www) на 26-Oct-2008 06:23


Ти сигурно си от малкото хора наоколо, които ползват все още този локал ;) Всички други сме на bg_BG.UTF-8

Написа Ясен Праматаров (www) на 26-Oct-2008 08:18


utf8 е е за мен. Мразя да хабя повече ресурс отколкото е необходимо, за да си свърша работата и ползването на два байта за буквичка, когато чудесно се справям и с един не ме радва особено.

Написа Георги Чорбаджийски (www) на 26-Oct-2008 18:34


"UTF-8 не е за мен ... Ползването на два байта за буквичка, когато чудесно се справям и с един не ме радва особено."
По-глупаво и аматьорско изказване не съм чувал - на теб очевидно ти липсват първите седем години! Недей става за смях и недей да популяризираш идиотщините на Microsoft.

Написа Стоян Иванов на 26-Oct-2008 18:58


Идиотско не идиотско твърдението е вярно. Защо трябва да използвам два байта за символ (тоест кирилицата е second class в сравнение с латиницата в utf8), когато се справям прекрасно и с един?

Написа Георги Чорбаджийски (www) на 26-Oct-2008 19:16


мерси, спести ми 1KB с този пост. Като се замислиш кой е създал уникод( хайде по-конкретно утф-8, който всички ползваме, K.T => B, Unix, P9) и кой стой зад цп1251, ти става ясно - просто уиндозите не могат да си позволят да харчат по още един байт за символ, защото вече са изяли всичката памет :)

Написа martin (www) на 26-Oct-2008 22:55


За UTF-8 - или добро или нищо :) Ако го имаше по-рано толкова много проблеми със всички видове енкодинги щях да си спестя, и щях да съм спал, сумарно, с 2 месеца повече :)

Написа Красимир Казаков на 27-Oct-2008 05:46


@martin - cp1251 не е измислено от М$ ;), макар да се среща и като вариант виндовс1251, а от IBM :)

Написа Божо (www) на 29-Oct-2008 18:14


@Божо => Това няма значение кой, кога и къде е измислил цп1251, писах кой стои зад него, една компания, която вечно е наопаки и наобратно, не спазва стандарти и скоро ще го лапка.
/*
CP1251 was invented by Microsoft and ParaGraph (Moscow) as Cyrillic coding for Windows. Legend says that it was initially invented as a result of conversion cp437->iso-8859-1 applied to early version of CP866 encoding, to simplify conversion process for DOS documents which encoding can't be determined. It contains most additional symbols for Ukrainian, Belorussian, and Serbian alphabets. Now it is one of the most popular encodings for Russian and Ukrainian, the most popular for Belorussian and Bulgarian.
*/

Написа martin (www) на 31-Oct-2008 14:36