LINUX.ORG.RU

В X11 кодировкой по умолчанию для России становится UTF8

 , , ,


0

0

Три часа назад, не без помощи со стороны svu, Daniel Stone внёс в код libX11 важное изменение, лог которого звучит следующим образом: "так как никто не пользуется кодировкой 8859-5, то кодировкой по умолчанию для России будет UTF-8".

Не прошло и 20 лет...

>>> Подробности

Re: В X11 кодировкой по умолчанию для России становится UTF8

Кхе Кхе... Вобщем-то утверждение что внутренности выни насквозь юникодны - это только пловина правды 8) Надо оговариться о какой выне идет разговор. Если детализироваться на хрюше, то она насвозь юникодна и точно так же она насквозь монобайтна. Пресловутые враперы на картинке присутсвуют только в воображении малограмотных популяризаторов API. Некогда в МС существовал подобный проект совместимости с юникодом - так он и застрял в документации...

V0ID ★★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

respect

record ★★★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

>А ничего, что у них протокол один и тот же?

дык то что в cifs по сравнению с smbfs вставили автоопределение кодировки и теперь оно то что там cp866 сам выясняет ведь не отменило cp866 на сервере. возьми smbfs и попробуй смонтировать с codepage=utf16 и подивись на результат :-\

xargs ★★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

>Некогда в МС существовал подобный проект совместимости с юникодом - так он и застрял в документации...

вот о том и речь, да только фОмы неверующие все ту документацию читают и не понимают что она давно пеаром является

xargs ★★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

Слава богу: пиарасты еще не добрались до этих ньюансов 8) Да и круг пропиарасеных будет весьма узок. Кроме того, полноценная поддержка ANSI (позволю так себе его назвать) API - это как раз таки огромный плюс в плане совместимости с зоопарком старых приложений из 9х. МС прекрасно понимала что без этого нужность нового API и самой выни (на тот момент) для конечного пользователя превращается в фикцию. Хотя, надо отметить, они с радостью отказались бы от длинннннющего хвоста старых "грехов". Любопытно что будет в V7...

V0ID ★★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

> Если детализироваться на хрюше, то она насвозь юникодна и точно так же она насквозь монобайтна

Откуда дровишки?

svu ★★★★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

Почитайте самбовские мейллисты и доки.

Вот например

http://osdir.com/ml/network.samba.java/2002-07/msg00098.html

> Samba folk say CIFS is UCS-2LE

Заметьте, это они про протокол, не про реализацию в самбе!

Я говорю про cifs, не про smbfs - потому что последний устарел, выкидывается в т.ч. за недоделанность поддержки уникода.

svu ★★★★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

>>>Откуда дровишки?

Из лесУ, вестимо...

Для того чтобы получить внятный ответ - нужно задать внятный вопрос 8) Имеется ввиду что WinApiA зачастую это таже точка входа что и WinApiW и, как правило, WinApiA н_и_к_о_г_д_а не вызывает WinApiW(и наоборот). Т.е. реализованы два незавимых полноценных интерфейса. Кодировка внутри например kernel32.dll никакой роли не играет - попадаются экземпляры как с юникодом так и анси. Преобразования юникод<=>анси присутсвуют в той или иной мере в о_б_о_и_х случаях (ситуативно). Вообще же ситуация не так проста - но в первом приближении сойдёт.

V0ID ★★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

>Я говорю про cifs, не про smbfs - потому что последний устарел, выкидывается в т.ч. за недоделанность поддержки уникода.

последний устарел только с точки зрения морального устаревания а с точки зрения протокола у него все в порядке: расшариваем диск на winVista и монтируем smbfs'ом, все работает отлично.

другой вопрос что в cifs автоопределение кодировки приделали (это ни разу не юникод: если речь о юникоде тут вести то исключительно на юникосовой стороне, а не протокольной. протокол как был в cp866 так и остался)

xargs ★★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

> WinApiA н_и_к_о_г_д_а не вызывает WinApiW(и наоборот). Кодировка внутри например kernel32.dll никакой роли не играет - попадаются экземпляры как с юникодом так и анси

Вот это самые интересные дровишки. Где об этом почитать?

svu ★★★★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

Я сказал еще "как правило" - бывают исключения. 8) Доберусь до работы пошарю в загашниках - может остались какие следы. Если мне не изменяет склероз - то достаточно толково вся эта кухня была расписана у A.R.Svensen "Windows - Another Look". (За точность не ручаюсь)

V0ID ★★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

Ланн, пятница уже кончилась, завязываю с xargs. С VOID интереснее и содержательнее, с удовольствие продолжу дискуссию

svu ★★★★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

Собственно книга эта рассматривает вопросы локализации выни + MUI - и там оба этих API были обсосаны от и до. Отличный английский: автор то ли швед то ли норвежец 8) Нечто в стиле Э.Шульмана. Осталось только перевернуть авгиевы конюшни "загашников" 8)

V0ID ★★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

для тех, кто питает иллюзии о юникодном winapi:

#define CreateDirectoryW    CreateDirectoryWrap

BOOL CreateDirectoryWrap(
        LPCWSTR                 lpPathName,
        LPSECURITY_ATTRIBUTES   lpSecurityAttributes)
{
    CStrIn  str(lpPathName);

    ASSERT(!lpSecurityAttributes);
    return CreateDirectoryA(str, lpSecurityAttributes);
}

#define CreateFontIndirectW CreateFontIndirectWrap

HFONT CreateFontIndirectWrap(CONST LOGFONTW * plfw)
{
    LOGFONTA  lfa;
    HFONT     hFont;

    memcpy(&lfa, plfw, FIELD_OFFSET(LOGFONTA, lfFaceName));
    MbcsFromUnicode(lfa.lfFaceName, ARRAYSIZE(lfa.lfFaceName), plfw->lfFaceName);
    hFont = CreateFontIndirectA(&lfa);

    return hFont;
}


из исходников ворованного SP для W2k (надеюсь ЛОР не закроют)))

faber ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

Вобщето мы говорили о хрюшке - со времен 2К очень многое поменялось - и продолжает меняться до сей поры. Вполне может быть что там именно такая реализация этой функции - не вижу особого криминала. Да есть вызов W=>A. В NT было еще больше брейков. Их можно найти и в хрюшке. Собственно я об и говорил...8)

V0ID ★★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

>Нахрен такой юникод? Эта как венда... в консоле 866, внутрях юникод, а фронтэнд так вообще 1251.

в виндах cmd поддерживает разные кодировки! "chcp /?", кажется.

Harliff ★★★★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

> нет, они сидят и матерятся. потому что в этом удолбище даже задача «сдвинуться на символ назад» превращается в совершенно неувлекательный и ненужный анальный секс. и вместо простого p-- приходится городить невнятный код или дёргать функцию.

вот из-за подобных быдлокодеров форумы и завалены сообщениями "Помогите не работает/не вводится/не отображается/отображается закорючками русский".

anonymous ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

> Другое дело, когда я вылазию в голую текстовую консоль -- там все символы отображаются тем наборов знаков, что есть в шрифте. Там действительно не прочитать текст сразу на нескольких языках со специфическими знаками.

Поскольку новый монитор в 99% будет LCD, текстовой консоли на нём не будет (нет можно и стандартные 80x25 на LCD поставить, но так можно дойти до того, что вместо женщин, кошек в валенках пользовать), а будет графическая консоль => можешь в ней хоть на тайском писать

anonymous ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

> Я бы сказал, что по глючности сегодня у Windows и Linux - паритет. Есть только одна тонкость. Под Windows есть ряд глюков, которые лечатся только переустановкой системы. Под Linux лечится всё гораздо менее радикальными способами.

+1.

Проблемы с Linux возникают когда нужно то, чего не сделали мэнтейнеры твоего дистра. Или когда нужно чего-то добиться от видео. Плюс проблемные / мало поддерживаемые девайсы. Плюс часто еще с техподдержкой провайдеров (правда это уже изменяется).

И часто бывает, что глюки Linux нужно лечить радикально - менять прокладку между монитором и клавиатурой )))

VoDA ★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

>Для того чтобы получить внятный ответ - нужно задать внятный вопрос 8) Имеется ввиду что WinApiA зачастую это таже точка входа что и WinApiW и, как правило, WinApiA н_и_к_о_г_д_а не вызывает WinApiW(и наоборот). Т.е. реализованы два незавимых полноценных интерфейса. Кодировка внутри например kernel32.dll никакой роли не играет - попадаются экземпляры как с юникодом так и анси. Преобразования юникод<=>анси присутсвуют в той или иной мере в о_б_о_и_х случаях (ситуативно). Вообще же ситуация не так проста - но в первом приближении сойдёт.

вещества )))))))))))) определенно они так воздействуют... возьмите ollydbg и смеху ради протрассируйте функции winapi, которые на ...А заканчиваются )))))) так всегда идет конверт в уникод и вызов ...W аналога функции

anonymous ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

Короче, что делать теперь тем, у кого стоит нормальная локаль ru_RU.KOI8-R? Будь она хоть трижды устаревшей, но меня она _устраивает_ полностью и никаких изменений я не хочу. Я постоянно работаю с консолью и мне плевать, что об этом думает какой-то выскочка svu, который за всех чего-то решил. Убыв бы гада ;)

annonymous ★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

См. subj внимательно: второе слово в нем - X11. Чем отличается X11 от консоли, с которой ты постоянно работаешь, пояснить?

dexpl ★★★★★ ()

Re: В X11 кодировкой по умолчанию для России становится UTF8

Тогда уточнение: работаю в том числе с виртуальным терминалом поверх X11. UTF-8 ни в одно место мне не упёрлась... Французский нормально читается и пишется без диакритических символов. Все понимают, кому надо. Один хрен клавиатура как правило одна используется.

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