Автор Гілка: як читати/редагувати cp1251 в RedHat linux  (Прочитано 2977 раз)

Відсутній topknot

  • Новачок
  • *
  • дописів: 7
  • Карма: +0/-0
  • I Love YaBB 2!
Вітаю шановне панство!
Маю проблему яку хочу вирішити, і ніяк не вдається. Я пишу програму у віндовз, але використовую wxWidgets, тому що хочу мати можливість використовувати її також і в лінукс. Пробував компілювати в RedHat 9.0 - нормально все працює, але тексти повідомлень... kDeveloper показує крякозяблики, після компіляції запускаю свою свіжу прогу і вона теж показує закарлючки. Не знаю що я ще не пробував, але ніщо не допомогло, взагалі інформації про використання 1251 в лінукс не так вже й багато вдалось знайти, а щоб певної, то і взагалі...
Дуже дякую.

k_ilya

  • Гість
Re: як читати/редагувати cp1251 в RedHat linux
« Відповідей #1 : 2005-10-17 17:15:50 »
Все описано в документаціїї з wxWidgets. Тобто взагалі RTFM

Я писав по англійськи і використовував макроси для перекладу через Getttext -
_("&New\tCtrl-N")

Наступне ініціалізовує систему локалізації
#ifndef __BORLANDC__
  m_locale.Init();
  m_locale.AddCatalog(wxT("wxstd"));
  m_locale.AddCatalog(wxT(GETTEXT_PACKAGE));
#endif

Ще є були деякі  баги з кирилицею в 2.4.2. Один баг - з кодуванням хелпу - знаю як обійти.
Деякі баги вже виправлені, деякі - не знаю.

А поставити локаль cp1251 у Лінуксі теж ніхто не забороняє

Ps. в Кдевелопі, Kate тощо  наче при відкритті файлу можна вибрати його кодування
« Змінено: 2005-10-17 17:25:34 від k_ilya »

Відсутній topknot

  • Новачок
  • *
  • дописів: 7
  • Карма: +0/-0
  • I Love YaBB 2!
Re: як читати/редагувати cp1251 в RedHat linux
« Відповідей #2 : 2005-10-18 10:27:36 »
Дякую за докладне роз'яснення системи перекладу в wxWidgets. Я, власне кажучи, це знаю, а проблема моя дещо в іншому - а саме в тому, що я не знаю як поставити локаль cp1251 у Лінуксі. При відкритті файлу жодна з перерахованих програм не пропонує вибрати кодування. Я зміг бачити нормальні стрічки в текстах програм з допомогою vim, проте після збереженя vim'ом від українських літер не залишилось і сліду, навіть у віндовзі вже я їх не побачив... Я встановив пару шрифтів true type і запустив  xfstt, але ті шрифти не додались в жоден список в системі, тож я не можу їх вибрати ніде... ні в редакторах, щоб нормально бачити літери, ні в Х щоб відкомпільована прога показувала нормальні менюхи і месаги.

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +10/-0
  • Програміст
Re: як читати/редагувати cp1251 в RedHat linux
« Відповідей #3 : 2005-10-18 13:20:15 »
В інших кодуваннях вміють відкривати файли:
gedit, jedit, mc (mcedit) з накладеною латкою (переключення - Ctrl-T) та багато інших.

Можна перекодовувати файли з допомогою iconv. Можна написати пару невеликих скриптиків для цієї цілі, на зразок цього: http://linux.org.ua:1080/twiki/pub/Main/VolodymyrLisivka/k2u (замініть UTF-8 на CP1251).
[Fedora Linux]

Відсутній miwa

  • Літератор
  • ******
  • дописів: 1111
  • Карма: +0/-0
Re: як читати/редагувати cp1251 в RedHat linux
« Відповідей #4 : 2005-10-18 13:53:58 »
як поставити локаль cp1251 у Лінуксі. При відкритті файлу жодна з перерахованих програм не пропонує вибрати кодування.
За локаль відповідає команда locale та ряд змінних, котрі виводяться разом із значеннями саме командою locale.
А у перерахованих програмах кодування можна змінити під час роботи.
Читайте документацію - вона кермує.

k_ilya

  • Гість
Re: як читати/редагувати cp1251 в RedHat linux
« Відповідей #5 : 2005-10-18 16:01:12 »
Нажаль, зміна локалі виправленням змінних, на які тут натякають - LANG, LC_*  не працює з Red Hat- шлях складніший, може вам допоможуть рекомендації з google.

до iconv додам ще recode

наявність вибору кодування в програмах з'явилась не одразу, ви користуєтесь старими версіями.

Відсутній topknot

  • Новачок
  • *
  • дописів: 7
  • Карма: +0/-0
  • I Love YaBB 2!
Re: як читати/редагувати cp1251 в RedHat linux
« Відповідей #6 : 2005-10-18 19:15:38 »
Дякую за поради!
Таки мабуть правда старими програмами користуюсь...
Переконвертовувати я нічого не хочу, я хочу продовжувати використовувати ці ж файли після лінукса у віндовзі, це ж дуже швидко перекодовувати туди/сюди набридне... :)
спробую попрацювати з новішим дистрибутивом, недавно завантажив собі Debian, іще навіть на CDR-ки не записав... :)

k_ilya

  • Гість
Re: як читати/редагувати cp1251 в RedHat linux
« Відповідей #7 : 2005-10-18 19:36:36 »
Переконвертовувати я нічого не хочу, я хочу продовжувати використовувати ці ж файли після лінукса у віндовзі, це ж дуже швидко перекодовувати туди/сюди набридне... :)
в лінукс повторювані речі заносяться у сценарії. Можеш додати перекодування в сценарї вмикнення вимкнення Linux, або запуску Kdevelop

спробую попрацювати з новішим дистрибутивом, недавно завантажив собі Debian, іще навіть на CDR-ки не записав... :)
до речі можна і з вінчестера ставити. Або записати тільки 1-ий  диск
І в інших дистрах і поміняти локаль дуже просто

Відсутній topknot

  • Новачок
  • *
  • дописів: 7
  • Карма: +0/-0
  • I Love YaBB 2!
Re: як читати/редагувати cp1251 в RedHat linux
« Відповідей #8 : 2005-11-15 20:04:23 »
Нічого в мене не вийшло з древнім RedHat, зате в slackware 10.0 kdevelop справді дозволяє вибрати encoding і я вже не знаю яке з тих шаманств, що я робив допомогло, але зараз я можу нормально редагувати свої проги у лінуксі! Але це ще не хепі-енд - чи не підкаже хто, як би мені так зробити, щоб і відкомпільована прога нормально показувала свої написи?