LINUX.ORG.RU
ФорумTalks

[flame] utf8 vs koi8r

 


0

0

На самом деле флейма совершенно не хочется. Устал от него давно. С давних времен стоит гента. Обновляюсь часто. В качестве локали стоит koi8-r. Как и на всех серверах, которые настраиваю. Не могу понять, почему мне говорят некоторые личности типа "древность. давно пора на утф"?

Не хочу, повторяю, флейма, холивара и споров. Интересует конкретно ответы на вопросы "А что я теряю, используя koi8?". Я не буду говорить, ПОЧЕМУ у меня koi8, просто мне лень, например, переходить на utf и все тут.

★★

Конечно лучше утф-8, объяснять почему не буду(имхо и так понятно). А вообще использую ту кодировку, которая является стандартной для данной системы(*BSD - KOI8-R, Debian - UTF-8). Можно, наверное, к опенбсд прикрутить утф, но могут вылезти различные баги, поэтому не трогаю.

nnm
()

Вот и мне лень, и совершенно не вижу необходимости, кроме, как если хочется ещё с ЧЕМ нибудь потрахаться.

Rubystar ★★
()
Ответ на: комментарий от vitroot

Ну как же, удалишь из env.d эти:

G_BROKEN_FILENAMES=1

G_FILENAME_ENCODING=KOI8-R

Rubystar ★★
()

- Солнце встаёт на востоке?
- Встаёт...
- Заходит на западе?
- Заходит
- Ничего не трогай!
(с) фольклор

Намёк понятен? :)

за UTF-8, пожалуй, один главный довод: единообразно. Везде и всюду, на всех хостах и во всех файлах одна кодировка. Чем меньше будет анахронизмов типа koi8-r, cp-1251, cp-866, mac-cyrillic, тем больше шансов на уменьшение головной боли, расцвет которой пришёлся на 90-е годы. Даже апач делали с russian-изворотом... xmms патчили... бр-р-р. Аж передёрнуло, как вспомню :)

Средства перехода на utf-8 есть (iconv, convmv), если решишься перейти - проблем не будет. Но и к совету "не трожь рабочую систему" прислушайся тоже. Решать тебе, по-любому.

Slavaz ★★★★★
()

utf8 позволяет не задумыватья о кодировке при общении более чем на одном языке. koi8r заставляет

HighwayStar ★★★★★
()
Ответ на: комментарий от HighwayStar

>>koi8r заставляет

Ну так в том-то и дело, чтоу меня сколько уж лет нет этих проблем. Ни на jabber'е, ни с LAMP'ом ни с другим ПО etc

vitroot ★★
() автор топика
Ответ на: комментарий от vitroot

Сообщаю: при кои8р сохраняет файлы кракозябрами. Хотя можно выйти из такой ситуации mvconv'ом.

nnm
()
Ответ на: комментарий от HighwayStar

> utf8 позволяет не задумыватья о кодировке при общении более чем на одном языке. koi8r заставляет

Ты не путай локаль с общением, я вполне нормально пишу в текстовом редакторе (oowriter), в irc (xchat) с ü, ö, ä, имея локаль koi8-r.

Rubystar ★★
()
Ответ на: комментарий от nnm

Естественно в konsole и прочих readline-использующих приложениях, я этого сделать не смогу.

Rubystar ★★
()

> "А что я теряю, используя koi8?"

Простоту настройки в Slackware. Возможно, стабильную работу mc.

anonymous
()
Ответ на: комментарий от nnm

> в консоли(в нормальной консоли, а не хтермы всякие)? Помню вроде нету № в кои8р.

Я гвоорил про общение, Не общаюсь в консоли и файлы с № в названии да, увы вижу как с ?

Rubystar ★★
()
Ответ на: комментарий от Rubystar

> Для кого тогда придумывали convmv?

Так если ты работал к примеру на ext2 в koi8-r, затем сменил локаль и перемонтировал раздел, то convmv не нужен.

init ★★★★★
()
Ответ на: комментарий от init

> Так если ты работал к примеру на ext2 в koi8-r, затем сменил локаль и перемонтировал раздел, то convmv не нужен.

А ты сам-то пробовал?

Rubystar ★★
()
Ответ на: комментарий от init

> Так если ты работал к примеру на ext2 в koi8-r, затем сменил локаль и перемонтировал раздел, то convmv не нужен.

$ echo $LANG
ru_RU.KOI8-R
$ ls /tmp/lctest
тест.txt
$ export LANG=ru_RU.UTF-8
$ ls /tmp/lctest
????.txt

ext3, правда,но роли не играет. Таки нужен.

Slavaz ★★★★★
()
Ответ на: комментарий от Slavaz

> ????.txt > ext3, правда,но роли не играет. Таки нужен.

Что тут думать, при монитровании ext2/ext3 вообще нет опции выбора локали. Возможно если слинковать mount с libastral.so, то возможно то, о чём говорит товарищ.

Rubystar ★★
()
Ответ на: комментарий от init

А зачем? Что изменится? Имя файла продолжает храниться в koi8-r кодировке. Там хоть перемонтируй, хоть перегружай комп - всё равно будет ??? вместо русских названий файлов.

Slavaz ★★★★★
()
Ответ на: комментарий от init

> А где здесь перемонтирование?

По вашему, когда mount отрабатывает при старте системы он что-то знает про локаль? :-)

Rubystar ★★
()
Ответ на: комментарий от Rubystar

Странно, но у меня почему-то аналогичный пример читается в любом случае. Я и написал потом что попробовал сначала.

init ★★★★★
()
Ответ на: комментарий от Rubystar

> При пятизвёздочности не знать такого :-)
Подаренный пятизвёздочник?

Slavaz ★★★★★
()

У КОИ-8 есть одно преимущество - у него один символ - один байт. Очень легко мелкие программки писать для обработки текстов. А еще мой любимый Nedit utf не понимает... А так да - utf "лучше, полнее и стандартнее". Да-с... А вообще... В Юниксе очень легко работать с той кодировкой, которая удобнее в данный момент... По-моему нет места для споров что лучше.

Beria1937
()
Ответ на: комментарий от Slavaz

> ext3, правда,но роли не играет. Таки нужен.

root@h:/home/init# echo $LANG
ru_RU.KOI8-R
root@h:/home/init# ls /tmp/test/
Тест
root@h:/home/init# export LANG=ru_RU.UTF-8
root@h:/home/init# ls /tmp/test/
Тест

Как тогда можно объяснить?

init ★★★★★
()
Ответ на: комментарий от Rubystar

> При пятизвёздочности не знать такого :-)

Для меня вопрос кодировок уже несколько лет не существует с тех пор, как я завязал играться с дистрибутивами и начал просто их использовать, видимо отсюда :)

init ★★★★★
()
Ответ на: комментарий от init

Очень просто :) Общесистемная локаль (не процесса) осталась ru_RU.KOI8-R. Соответственно, фонты, которые используются, выводят в koi8-r

Я для того, чтобы показать свой пример, в konsole предваридельно сделал
"Настройка" -> "кодировка" -> "koi8-r"
Потом, после
export LANG=ru_RU.UTF-8
поменял в konsole кодировку отображения назад на utf-8

Этим самым я съэмулировал переключение общесистемной кодировки.

Slavaz ★★★★★
()

Вот в чем дело, дорогой друх, в утф-8 слово "жопа" из /dev/urandom ищется grep более чем в 1000 раз медленее, такая вот жопа. Поэтому крайне не советую юзать утф8 для поиска жоп.

wfrr ★★☆
()
Ответ на: комментарий от Slavaz

Забыл что их еще и показывают:) Тогда да, ошибся, будет так:

---

А что на него переходить? Локаль сменил, один раз запустил convmv и все.

init ★★★★★
()
Ответ на: комментарий от init

> А что на него переходить? Локаль сменил, один раз запустил convmv и все.

Уже лучше.

Rubystar ★★
()
Ответ на: комментарий от Beria1937

> У КОИ-8 есть одно преимущество - у него один символ - один байт. Очень легко мелкие программки писать для обработки текстов.

зато в UTF-8 можно писать программы, не задумываясь о кодировках. Написал например на питоне для UTF-8 и всё, просто работает. И будет работать на любом другом языке. А с однобайтными были проблемы -- то 8 бит не понимает, то наткнётся парсер XML на "неожиданный" символ и вылетит. Проще писать под UTF-8 и приводить входные файлы к UTF-8, чем сталкиваться с граблями в библиотеках.

anonymous
()
Ответ на: комментарий от anonymous

особенно просто работать с утф8 на сях

wfrr ★★☆
()

На сервере и koi8-r нафиг не нужна. Достаточно POSIX.
PS: локаль -- свойство процесса, посему никто не запретит сделать LC_ALL=ru_RU.UTF-8 /etc/init.d/postgresql initdb

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

на серваке локаль роль играет. у меня на нем много чего крутиться, для чего локаль имеет прямое значение

vitroot ★★
() автор топика

Использование юникода позволяет забыть само идиотское и доисторическое понятие "кодировка". Utf-8 - наиболее оптимальное решение, поскольку позволяет не трогать уже существующие вещи, использующие латинские символы.

anonymous
()
Ответ на: комментарий от vitroot

> на серваке локаль роль играет. у меня на нем много чего крутиться, для чего локаль имеет прямое значение

PS: локаль -- свойство процесса, посему никто не запретит сделать LC_ALL=ru_RU.UTF-8 /etc/init.d/postgresql initdb

В твоём случае видимо имеется в виду кодировка имён файлов на ФС? Так здесь рулит именно UTF-8, а не то говно, которое ты используешь. В остальном каждого демона можно пускать со своей локалью. Пора уже избавляться от тупых вендузячьих привычек.

Lumi ★★★★★
()
Ответ на: комментарий от Beria1937

> Очень легко мелкие программки писать для обработки текстов.

И что же за задачи такие, где не хватает последовательного доступа? (где всем плевать сколько октетов на символ, читай себе поток и читай)

anonymous
()
Ответ на: комментарий от anonymous

> Использование юникода позволяет забыть само идиотское и доисторическое понятие "кодировка". Utf-8 - наиболее оптимальное решение, поскольку позволяет не трогать уже существующие вещи, использующие латинские символы.

Ах, оставьте утопию...

Rubystar ★★
()

utf8.
Ты теряешь адекватную работу всего, что не ограничивается ansii/cyrillic.

iiizxc
()
Ответ на: комментарий от Rubystar

>Ах, оставьте утопию... Утопия или не утопия (серебрянная пуля невозможна, само собой), но иметь файлы аж на 3-х языках (английский, русский и японский) без геммороя оно позволяет.

Однобайтные кодировки это по сути костыль незапамятных времен и потому его надо выкинуть, чтобы не мешался.

anonymous
()

utf-8 в большинстве случаев удобней в силу своей универсальности. но некоторые консольные архаизмы, вроде links'а с ним без патчей работать часто не умеют %( да и всеравно - полноценных юникодвых шрифтов для голой консоли нету в силу особенностей текстового режима VGA %(

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.