Как стать автором
Обновить

Комментарии 170

А какую кодировку используешь ты, %username%?


однозначно юникод. хватит, намучался с перекодировкой.
НЛО прилетело и опубликовало эту надпись здесь
к чему такие посты пишут???
Комментарии :)
Но присоединюсь к вопросу
А ведь еще есть 50% «мама не горюй» — печально.

Честно говоря я ожидал больший процент.
Это да, но положительная тенденция не может не радовать :) за последние три года доля выросла более чем на 35%
Однозначно ЮТФ-8! Не зачем парить себе мозг.
Нет, ребят, я конечно понимаю, что утф8 реально хорошая штука, но вот это:
$a='абракадабра';
echo $a[2].$a[3];
просто глаза мазолит.
Ждите PHP6 :)
Я думаю это не очень хорошо в принципе использовать строку как массив чаров.
Пока блокнот Windows (образного говоря, хотя и не образно тоже) будет сохранять файлы в чёрти знает какой кодировке, никуда не денутся эти убогие cp1251 и прочий хлам. Я при всём желании если захочу использовать не utf8 в, допустим Ubuntu + среда редактирования html и веб-разработки, то мне придётся немного постараться и выполнить с десяток лишних телодвижений. Пока от национальных кодировок не откажутся везде и полностью, пока их не сделают опцией, которую необходимо подключать при необходимости, пока за txt (и html и прочими текстовыми файлами) де-факто безо всяких ненужных BOM не будет жёстко закреплена кодировка utf8 везде и всегда, в 100% приложений, работающих с текстовыми данными, и 100% случаев использования текста, вечно будут находиться уникумы, которые будут непойми зачем использовать какой-нибудь устаревший бред. 50% — это безусловно успех. Но это и провал. Живём в 21 веке, а 50% вроде как осведомлённых в техническом плане людей ещё из каменного не вылезли.
А подскажите кто-нибудь, какие у Windows планы насчёт Unicode?
Если я не ошибаюсь, они с 2000 версии перешли на полную поддержку Unicode. WinCE — там только Unicode.
Полная поддержка это понятно, но она же не дефолтная, да и файлы практически все не в ней. Разве не планируется тотального перехода на Юникод? По-моему, это большой шаг вперёд не только для MS, но и для всего IT (и не очень IT) мира
Это шаг вперёд для IT мира, но не для M$, поэтому терпите.
Да говорят же вам — уникод везде и подефолту. Ну в текстовых файлах BOM нужен, да. Но не такая уж это и проблема.
Коли так, то отлично :) Сам Windows не пользуюсь почти — был введён в заблуждение ><
в php BOM — это проблема, причём очень значимая.
есть unicode без BOM, это не проблема.
Я не говорил что BOM это проблема для utf-8. Я говорил о том, что BOM — это архаичный апендикс в технологии.
а я в свою очередь имел ввиду что UTF-8 есть как с BOM так и без него. То есть если с умом подходить к вопрос то достаточно сохранять UTF файлы без сигнатуры, конечно это не дефолт, но и PHP не для лаймеров
Что в нем такого плохого?
Или даже не так. Что плохого в обратной совместимости?

Любая достойная среда разработки поддерживает конвертацию в UTF-8 без BOM.
Спасибо, кэп.

Вы не упомянули iconv -f cp1251 -t utf8 filename.txt
И проблема эта не в ПХП, а в Браузерах.
А то что php ругается на отправку куки или хидеров, для вас тоже проблема в браузере?
Эм-да. Про Заголовки HTTP запроса я и не подумал…

Ну тогда я не прав :)
В php проблема, в php и решайте. Не вижу зачем бы пользователям (всего лишь) блокнота, страдать из-за php, о ктором они и не слышали.
Нифига себе BOM не проблема)))) BOM — это большая проблема. Особенно в интернетах. Для utf8 он не нужен, вообще причём. Unicode везде внутри, а вот некоторые прикладные приложения (тот же блокнот) умудряются его игнорить немного. Посему файлик вы абракадабрами назовёте, а вот txt спокойно можете сохранить в cp1251. Так что поддержка то полная, да вот использование не повсеместное.
BOM это не обязательная сигнатура, поэтому проблему она собой не несет
Не обязательная. Но многие программы де-факто при сохранении в utf8 добавляют BOM. А вот это уже большая проблема. Весь текст везде и всегда должен де-факто интерпретироваться как utf8 безо всяких BOM. А BOM добавлять нужно только по желанию и только понимая что это и зачем нужно.
вы хотели сказать не де-факто а по дефолту? если так, то дефолт не проблема, если все же де-факто, в таком случае есть редакторы которые убирают BOM, но опять же это не проблема BOM а недосмотр разработчиков ПО которые не включили такую функцию, хотя с третьей стороны можно пальцы сломать тому кто придумал эту сигнатуру (это ж смешно придумать Необязательную сигнатуру =))
Некоторые и де-факто))) То есть в них просто отсутствует пункт отключения BOM. (Кстати, виндовый блокнот-то умеет его отключать?). А некоторые по дефолту. Один фиг — плохо. Придумали эту сигнатуру для смешанных систем, чтобы отличать данные в национальных кодировках и в utf, в реальной жизни BOM нужен для всяких utf16, utf32 и проч, в utf8 он конечно не нужен. И да, все проблемы — это не проблемы юникода, utf и BOM, это проблемы разработчиков. Это конечно чудно, но от этого никуда пока не деться.
То есть вы предлагаете чтобы с обмновлением на очередную версию винды у пользователей вдруго перестали открываться блокнотом файлы в 1251, которые раньше открывались нормально?
Так он ее выкинет тогда.
не открыватся, а сохранятся! :)
Здорово, сохраняется в утф8 без бом, а потом открывается как 1251? :)
А разве невозможно определить в какой кодировке файл?
Без бом — только вероятностно
Ветка Windows NT работает в юникоде с 4.0 версии точно, но возможно что и с более ранних версий. Ветка Windows 95 была не юникод, но её прикрыли только с выходом ХР.
Ну это про реализацию win32 (а также native) api, а тут люди про блокнот :)

И ветку «не NT» прикрыли с выходом win2k
Я понимаю, что про блокнот. Я к тому, что Microsoft серьёзно задумалась об Юникоде не вчера, как хотелось бы думать некоторым, а ещё чуть ли не в восьмидесятых годах.

Windows 2000 для домохозяек есть и называется Windows ME. А вот как раз Windows XP Home закончила бессмысленные страдания этой ветки надстроек над MS DOS.
С первым абзацем согласен.

Про 2000 и МЕ — совсем разные вещи. МЕ начали разрабатывать (читай допиливать 98SE до нее) когда поняли что 2000 вовремя не выпустить. Зато когда выпустили, это была ось, связанная с 9х только отдельными фичами, предусмотренными для совместимости (пример — toolhelp api), но внутри это полноценная NT. A xp это хорошо прилизанная 2000 (по крайней мере в ядре).
Что касается «для домохазяек» — то и 2000 и хр вполне себе для домохазяек (я не вкладываю в это выражение никакого негатива). Именно потому и 2000 и хр перестали на коробке называться NT — ядро у них энтишное, но все что связано со способностью продаваться категории пользователей 9х сделано чтобы оправдать их ожидания. В маркетинговом смысле 9х была оч. хорошим продуктом (а попробуйте так успешно продавать такую кривую программу!) и линейка «поздних NT» (от 2000 и последующие) просто не может взять, и начать рассматривать любой текстовый файл как utf8 если не указано обратное, это было бы очень bad user expirience
9х была очень хорошим продуктом потому, что предлагала лёгкий в освоении интерфейс и могла работать на распространённых конфигурациях.
Плюс многое сыграла простота и открытость API и доступность простых инструментов разработки. Все эти Visual бейсики, дельфи и проч. и проч. Рынок моментально стал забит софтом по самые уши.
Кривизна — это несколько субъективное, против чего говорит весьма неплохой сегмент рынка. Это значит что огромное количество пользователей работали на этой операционке и не спешили её менять на что-либо другое.

Открывать любой текстовый файл как UTF-8 и в самом деле не следует. Народы не поймут.
Ну да, легкий интерфейс и тд и тп. И это же насколько возможно повторили в 2000 и ХР. Так что я бы сказал что все-таки 2000 и ХР это синтез 9х и NT.
Относительно API и инструментов, то я не знаю как там басик, но на дельфи вполне нормально себе писАлось под NT 4
Во времена когда я писал под 98, в msdn можно было легко найти нужную функцию, а потом обломаться, увидев приметку «только NT», а обратный случай мне стал известен только один (RegisterServiceProcess).

Кривизна может и субъективное понятие, но количество падений, программы через раз вешающие всю систему (забыл всего в одном месте CloseHandle, эх времена то были), это объективно.
А переустановки раз в три месяца, а отстутствие security как таковой!
Ну да, субъективно :)
Опять же, там же, в википедиях — в МЕ используется интерфейс от 2К, а не наоборот :)

Кстати, забытый CloseHandle — это, всё же, чья кривизна? :)
Про интерфейс не понял, поясните пожалуйста.

Про CloseHandle — то что он забыт моя кривизна. А кривизна системы в том что
1) Это влияет на другие процессы
2) После завершения программы с забытым CloseHandle никакой гарантии что объекты будут освобождены, проблема часто оставалась до презагрузки. С хендлами объектов ядра еще вроде терпимо было (хотя не фонтан), а потеряный common DC это всё, торба.
Про интерфейс:

Microsoft also updated the graphical user interface and the shell features and Windows Explorer in Windows Me with some of those first introduced in Windows 2000


Я совершенно согласен, что стабильность работы линейки 9х была ниже, чем у NT. Но, в свою очередь, это окупалось более низкими системными требованиями и низкой ценой. А то, что стабильность была не настолько критична, вполне характеризуется распространённостью. Выбрать ведь было из чего, не так ли?
Не знаю, моветоном ли будет цитата из английской википедии:

In September 2000, Microsoft introduced Windows Me (Millennium Edition), which upgraded Windows 98 with enhanced multimedia and Internet features.
[...]
Windows Me was the last operating system to be based on the Windows 9x (monolithic) kernel and MS-DOS.


Так что, нет, буду настаивать, что ветка 9х умерла именно с появлением XP Home.
Окей, пусть вы будете правы :)
Обратите внимание на поле «кодировка» внизу. Уже года 4 редактирую всё в UTF-8 и никаких лишних телодвижений не нужно. Visual Studio и Windows вообще работают с UTF-16, как и Java.

C UCS-2 они работают. UTF-16 и UCS-2 — разные вещи.
Неужели существуют веб-мастера, которые сайты делают в блокноте Windows (образного говоря, хотя и не образно тоже)?
Блокнот Windows прекрасно поддерживает UTF-8.

Кстати, даже FAR уже поддерживает UTF-8 :)
Вам прийдется постараться только если пожелаете использовать cp1251 в Linux.
Отличная новость :(
Линукс поставили? а новость и вправду хорошая.
Блин, в какой кодировке написал ))
Я в cp-1251 KOI8-R посмотрел, не понял.

Интересно, ведь.
такая последовательность (Отличная) характерна для UTF8 текста просматриваемого в cp1251

текст при конвертации CP->UTF8 превращается в «Отличная новость :(»
Использую utf8 и тебе, %username%, советую.
Осталось дождаться когда имена файлов в Windows будут кодироваться в utf-8. Но этого скорее всего не случится, т.к. тогда исчезнет один из поводов для троллинга. Сейчас так удобно:
— Помогите, у меня кракозябры вместо имён файлов в Ubuntu на разделе ntfs
— Так это известная проблема. Ubuntu не поддерживает кириллицу! Предлагаем Вам купить Microsoft Windows 7©®, которая имеет лучшую локализацию и поддерживает около сотни языков.
Ubuntu не поддерживает кириллицу!

Это сильно :) Разработчики нервно икают
От фанатов M$ и не такое услышишь.
Не путайте фанатов и маркетологов. Вторые верят во что говорят…
Может наоборот?
НЛО прилетело и опубликовало эту надпись здесь
NTFS и хранит в юникоде имена файлов.
Проблемы крякозябров это проблемы вашего линукса.
s/ntfs/fat32/ Прошу прощения.

> Проблемы крякозябров это проблемы вашего линукса.

Проблемы кракозябров — это на, самом деле, проблемы ваших пользователей в первую очередь, и ваших виндовсов во вторую.
Предвосхищая вопрос, fat32 ещё находится на большинстве USB-дисков.
В Windows всё читается нормально, следовательно проблемы опять же у вас.
НЛО прилетело и опубликовало эту надпись здесь
Вы часто вставляете в компьютеры с не русской локалью флешки?
В таких случаях умные люди никогда не создают файлов и директорий с не английскими символами.
Из-за какой-то там никому не нужной ОС Windows, не осилившей нормальную локализацию и её разработчика Microsoft, форсящего свои недоФС, называть файлы на неродном языке?
Если вам не надо это ещё не значит что остальным не надо, а локализации между прочим нормальные.
Ваша фобия к нерусским символом только ваша.
> Если вам не надо это ещё не значит что остальным не надо

Вы с собой на вы?

> Ваша фобия к нерусским символом только ваша.

У меня фобии к нерусским символам нет. А вот у вас, судя по всему, имеется фобия к нелатинским символам.
У меня фобий никаких нет, храню файлы с именами только в латинских символах это изоблаяет от кучи проблем, не только при их использовании их в разных ОС но и при передачи их по сетям.
Вот! Благодаря M$ и Windows у вас таки появилась фобия к нелатинским символам. Использую кириллицу в utf-8 и никаких проблем. А проблемы пользователей, пытающихся прочитать мой USB-диск под другой ОС — это их проблемы. Разработчики не обещали поддержку ext3.
>Благодаря M$ и Windows у вас таки появилась фобия к нелатинским символам.
Фобии нет просто так удобней, про софт который не любит не латинские символы вы наверно забыли.
FTP, WEB, email и прочее, в этих стандартах только латиница, другие символы прикручиваются при помощи костылей. Оно мне надо?

Ещё раз говорю в NTFS всё храниться в юникоде и никаких проблем нет, в exfat тоже.

>А проблемы пользователей, пытающихся прочитать мой USB-диск под другой ОС — это их проблемы.
До того момента пока вам будет нужно прочитать с вашего диска под ОС которая не понимает ext3. Умные люди в таких случаях делают диски в той ФС которую понимает большинство компьютеров.
Про ntfs же изначально речь была. А она таки хранит в утф8. А fat32 не нужен. Совсем, даже на флешке.
+1. Форматирую флешку в ext2 без журнала :)
Ну да, вариант. Только совместимость с виндовыми машинами теряется. Я понимаю что для вас скорее всего это не имеет значения.

Только тогда скажите, зачем было на чем свет стоит ругать винду с ее (мнимыми как мы выяснили) крякозяблами? Ведь ясно же что как вам ни к чему совместимость с виндой, множеству людей наплевать на совместимость с линуксом.
Для меня не имеет значения. И я уже 3 раза сказал, что главная проблема — в криворучках.

Не имею ни малейшего понятия как он смог, но это правда: habrahabr.ru/blogs/webdev/82426/#comment_2447141 Там раньше виндовс была. При переносе с ntfs на ext3 ничего не сломалось.
Для флешек есть ExFAT, там тоже UTF.
Ага. Знакомого оставил без внимания на пол года и сразу прибежал фанат, поставивший Windows XP вместо Ubuntu. При этом он умудрился при переносе файлов с ext3 на ntfs получить кракозябры вместо кириллицы. В Windows всё читается нормально!
Microsoft добавила в Windows поддержку ext3?
Так что опять проблемы у вас.
С чего бы это? Проблемы в первую очередь у криворучки фаната, ставившего Windows, во вторую очередь у Windows XP. У нас проблем нет.
У Windows XP проблем нет, поддержки ext3 в ней нету, проблемы у софта которым пользовались.
Если бы не сторонний софт (без понятия чем он пользовался) то файлы бы вообще было невозможно перенести на ntfs без использования дополнительных носителей информации. Так что скажите спасибо сторонним разработчикам за глючный софт, иначе у Windows вообще шансов бы не было. Что это такое? При переходе на замечательную и всеми любимую ОС Windows нельзя перенести свои файлы.
Проблемы пользоваталей других ОС это их проблемы, вам поддержку ext3 никто не обещал. Следовательно как читать эту ФС это ваша проблема, а не проблема разработчиков ОС.
Именно так. Проблемы пользователей других ОС — это их проблемы. Поддержку etx3 никто не обещал, следовательно как читать эту ФС при переходе на Windows — это их проблемы. А зачем им лишние проблемы? Проще остаться на Ubuntu.
Ну так и оставайтесь, других только не трогайте с ней.
Всё бы хорошо, если бы не криворучки, о которых я рассказывал в начале ветки. По слухам, Windows — ОС, идеально подходящая для домохозяек, но некоторые операции в ней намеренно усложнены. Зачем?
У вас такой милый холиварчик тут… а у нас в OS X всё нормально открывается, и ext и ntfs… и с русскими символами.
У нас тоже. Проблема прежде всего в неосиливающих пользователях и немного в виндах, как я уже сказал два раза. Попробуйте на USB диск записать пару файлов с кириллицей и иероглифами в названии. ЕМНИП на fat32 это невозможно, так что виндовс как всегда…

ntfs в OS X (как и в Линуксах) примерно там том же уровне поддержки, что и ext3 в виндах.
UTF8
Какой смысле тем, кто знает, что это такое, использовать что-то еще?
Наверное использующим CP-1251 страшно писать сюда. :)

Я конечно же на UTF-8.
Не страшно, просто бессмысленно. Ну да UTF-8 предпочтительнее, но движок блога работает только с Windows-1251 и это меня устраивает, т.к. пишут в нем только русскоязычные. Добавят поддержку UTF-8, то перейду.
Год назад решился и переделал все свои веб-сервисы с 1251 на utf-8.
Переделка была немного болезненна, но зато масса несовместимостей и косяков ушла.
я тоже давно перешел. проблемы были с локальным mysql. как же я намучался подключать в phpmyadmin визуальный дизайнер таблиц, который из-за кодировок никак не хотел работать. UTF8 все расставил по своим местам. Ну и как после этого отказываться от юникода? :)
CP-1251, когда неткат. UTF-8, когда кохана. К сожалению, пока зло преобладает.
Транслитерация названия чудно совпадает с украинским словом «кохана», переводящимся как «любимая».
ура. utf-8 конечно же.
Perl разработчики также различают UTF-8 и utf8 (1, 2) :-D

«А Вы за какой интернационал, за второй или за третий?» ©
Кстати примерно такой же график будет и области развития интернета, видите связь?!
новые сайты делают в основном с использованием ЮТФ, видимо
UTF-8
Терпеть не могу всякие «национальные кодировки» и «национальные домены». Да здравствует братство и единство народов. Не дадим политикам лишний повод что бы нас ссорить.
:-)
Пост не в бровь, а в глаз, сижу выставляю на сайте французских клиентов кодировку в шапке, страница плывет, когда символы с их «акцентами» приходят с аякс запроса без явного указания кодировки, решил сделать перерыв, чуть отвлечься — ваш пост первый… за мной следят? :)
Тс-с-с- :)
Мне кажется, это не от сознательности, а от глобализации. Когда еще на уровне разговоров о сайте сразу известно, что на него может зайти человек из любой страны и что-то там накракозябрать, то вариантов просто никаких нет. И я так думаю, что на эти 50% сайтов юникода приходится 99% трафика в сети, ибо остальные 50% на 80% состоят из сайтов, типа, «Я Вася, это моя домашнаяя страничка».

Так что по большому счету для реальных сайтов пррблема на 95% уже решена.

IMHO
%username% по обыкновению использует ту кодировку, которую по-умолчанию использует его любимая (на момент) CMS или фреймворк. Мне повезло, я в основном имел дело с «прогрессивными» инструментами. За редким исключением в виде NetCat и HostCMS. Я не в курсе нынешнего положения вещей, но год-полтора назад эти системы не оставляли выбора — только 1251.

Помимо CMS, выбор определяется платформой, на Mac OS (на Линуксах тоже, возможно, я не в курсе) что-либо отличное от «родного» UTF-8 использовать нелогично и неудобно, хотя и возможно, при желании.
я думаю, лучше было б сделать голосование)
Эта тема была не про выбор %username%, а про долю Юникода в web, точнее про её рост.

Создал опрос
Топик в черновиках. У голосования был печальный финал? :(
Да, почему-то полетели минусы. Никто так и не объяснил почему :) И я решил не раздражать народ в пятницу
Могу привести проценты:

Проголосовало ~600 человек

68% Unicode (UTF8/UTF16)
21% CP1251
6% ASCII
3.5% KOI8-R
1.5% Другая кодировка
Как-то странно все посмотрели на график. Если мне не изменяют глаза, то почти юникод только за счет аски взлетел. Доля же всяких страшных сп1251 остается почти неизменной. Позор, товарищи!

я тоже стараюсь везде использовать утф8, если не критична производительность, но это отдельная тема. (правда когда прихотилось отказываться от утф8 для скорости переходил на утф16). Хотя для веб морд всегда утф8.
Вы еще не используете юникод? Тогда мы идем к вам!
Откуда столько негатива в адрес нац. кодировок, cp1251 в частности? В своё время они решали множество проблем, и были необходимы. Да, сейчас это пережитки прошлого, но стоит ли из-за этого так их ругать? Только не говорите, что вы не гордились собой после того как в очередной раз научили какой-нибудь 6й Red Hat понимать cp1251?

з.ы. Уже два года как перевёл всё своё на utf8 и ни капли не жалею.
Ну я бы поругал свистопляску с кодировками хотя бы за то, что они в немалой степени фактически похоронили букву Ё в своё время.
В unicode буква ё вываливается за диапазон а-я. Так что всё равно ей не жить.
Зато она отлично коллейтится с «е» при сравнениях :)
Не лишним будет напомнить, что буква «ё», как и прочие буквы, являются не русскими буквами, а знаками кириллицы, которая используется, строго говоря, для записи около сотни других языков, каждый из которых определяет свой словарный порядок (collate sequence), каковой давно является частью локали, описывающую вашу страну или регион, и числовые значение кодов никакой роли в этом не играют. Искренне ваш К.
если прикинуть и оглядеться, то букву Ё похоронили все мы вместе взятые, или они все вместе взятые (имею ввиду обычных пользователей), да и если уж настолько глубоко смотреть, мы закапываем русский как таковой, потому что в последние годы он совсем другим стал, и под пониманием другой я имею ввиду и полное игнорирование буквы Ё
Очень давно мучался с перекодировкой, много лет писал на cp1251 из-за того, что УТФ была еще не так широко внедрена (MySQL <4), сейчас в новых проектах использую utf-8. Переписывать старое — нет смысла, когда нет глюков. Открытым остается вопрос текущей производительности и удобства: вроде бы cp1251 однобайтовая и экономит трафик, но с другой стороны — с utf-8 быстрее кодить и отлаживать. Вывод — все писать на utf-8 и не мучать голову, производительность все равно будет расти. Опять же в Perl для перекодировки UTF-8 <=> cp1251 приходится юзать модули (Encode, Convert::Cyrrilic) или писать свои функции сопоставления — ИМХО для загруженным проектов — не самый лучший вариант.
Новые проекты уже давно только на UTF-8. В старом поменяю всё вместе с полным переписыванием. Ибо смысла переделывать проект нет, он морально устарел. Так что он ещё остаётся в тех 50% :)
переделывать = допиливать (модифицировать). Ошибся.
find ./ -name "*.php" -exec iconv -f cp1251 -t utf8 -o {} {} \;
Инструмент борьбы со злом =)
Так, а с базой что будем делать? А с функциями обработки строк? А с…

Нет уж, спасибо :) Я лучше полностью перепишу :D
база дампится, файл переводится в утф-8 и в файле заменяем cp1251 на utf-8 )) вот и свеженькая кодировка и проект морально обновленный :D
А так и закономерно, многие популярные CMS, вроде той же Джумлы, перешли с 1251 на УТФ.
НЛО прилетело и опубликовало эту надпись здесь
У меня юникод на 5-6 сайтах и 1251 на паре тысяч сайтов)))
НЛО прилетело и опубликовало эту надпись здесь
Корпоративная политика такая...))

P.S. С радостью перевел бы все на UTF-8))
не стахановец, а дорвейщик )
А вот и нет) Дорвеями не занимаюсь и никогда не занимался :)
Да вы что?
А что, обходиться без дорвеев уже не модно?)
UTF-8 это супер, осталось некоторым PHP-разработчикам узнать, что юникод у них обрабатывается другими функциями, а то главная с обрезками новостей всегда офигинительно смотрится.
utf8 и только utf8.
Если хочется кого-то чего-то запустить в другой кодировке luit мне в помощь, главное чтобы локали нужные были настроены:
$ locale -a
C
POSIX
ru_RU
ru_RU.cp1251
ru_RU.iso88595
ru_RU.koi8r
ru_RU.utf8
russian
ru_UA
ru_UA.koi8u
ru_UA.utf8
uk_UA
uk_UA.koi8u
uk_UA.utf8

а дальше просто:
$ LaNG=ru_RU.cp1251 luit ...приложение...

Удобно. Дёшево. Сердито :):):)
НЛО прилетело и опубликовало эту надпись здесь
На всеx Linux — UTF8
FreeBSD — koi8r (сильно жду поддержку utf8 в консоли, а не только по ssh)
Гоооосподи ну неужели этот многолетний кошмар близок к завершению и можно будет официально отправить на свалку истории и 1251, и KOI-8r, и оставить только unicode-кодировки!
1251 врядли а вот KOI-8r поидее давно умер, просто его не отпускали некроконсерваторы =)
Простите, но 1251 получила распростронение благодаря windows, но есть люди которых windows не затронул. Мало, но они правда есть, и для них koi8-r нормальная кодировка ГОСТ и всё такое.
Ради интереса попробуйте открыть CP1251 текстовый документ в тысячу строк в том же IE7, после открытия поскрольте вниз-вверх, запомните свои ощущения. Теперь конвертните этот документ в UTF8, и опять откройте и опять поскрольте, сравните.
Юникод спасёт мир!
Сейчас как раз в данный момент перевожу один старый аж 1997 года проект в utf-8… Дополнительное удовольствие придает тот факт что он почти полностью основан на файловой системе хранения данных в базе данных ~20%… Все остальное же организованно потрясающе файлы конвертируется и создаются по нескольким инструкция менеджеров в подготовке некоторых таблиц должны участвовать несколько версий excel.

В итоге все — это «счастье» отправляется на определенный емайл в аттаче где на другой тороне робот (sh-скрит) забирает аттач и отправляет его в обработку в зависимости от маски названия файла… Всего на сайте три кодировки utf-8, windows-1251 и наконец koi8-r… Написан проект был когда-то несколькими программистами как следует из его содержание абсолютно не зависимо и не учитывая преемственности внутренних правил и тд и тп… и это всё надо заметить еще только маленькая толика местного зоопарка…
koi8-r наше все! хоть и старая она, но люблю ее я.
Вот он! Бей его, ребята!
вот позиция политически грамотная и рассовая.
«Верной дорогой идете, товарищи»
utf8, и только он, вернее она.
Старые проекты по-тихоньку переносятся по мере сил и времени.
А что, разве есть какие-то кодировки кроме UTF-8?
Увеличение за счет уменьшения долей ASCII и Latin-1. То есть люди, которым это меньше всего надо, за всех отдуваются.
судя по графику — юникод растёт на 10% в год, очевидно, к 2015 году ~90% сайтов будет в нём. Ура :)
Если бы всё было так просто
CP1251 где планируется хранить большие объемы данных.

UTF-8 для мелких проектов.
Если планируется хранить большие объемы данных, то лучше использовать компрессию (*zip) и utf-8.
Я использую UTF-8, но не вижу вреда в национальных кодировках, если клиенты однозначно их понимают.

Собственно, совершенно вдоль хитона какими там кодировками бредят разработчики — главное чтобы абстрактный Вася Пупкин видел читаемый текст без каких-либо дополнительных телодвижений. Да, с UTF-8 это реализуется наиболее просто, но это не единственный вариант :)
Единственный. Допустим вася пупкин сидит в китае и на компе у него китайский вантуз. Этот вася очень обрадуется, обнаружив что какой-нибудь текст не читается. В конце концов всякое может быть, только utf8 может гарантировать нормальное восприятие информации любым клиентом, де-факто настроенным на utf8.
Ведущие браузеры давно приспособились поддерживать целый вагон кодировок, работающих вполне себе независимо от общесистемной, лишь бы был установлен хоть один full Unicode шрифт. Думаете азиаты так же охотно переходят на Unicode? Да как бы не так!
Повторюсь — это не проблемы Васисусалия. Ему дела нет до кодировок. Это проблемы разработчиков.

Хотя при желании вполне можно представить себе узко ориентированное приложение, для которого вполне достаточно национальной кодировки.
Минусуйте.
Работаю с PHP, использую cp1251, пока в пхп не будет полноценной поддержки юникода для кириллицы, ничего кроме геммороя в практическом плане от использования ютф не вижу.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории