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

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

Мне кажется UTF-8 не должно быть в этом списке... это какраз решение всех проблем с разными кодировками.
Ага в основном с UTF как раз и возникают вопросы. В моем случае "порадовал" codeigniter.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
чем же вас жизнь так обидела, что вы конца света ждете?
оффтоп: колллайдер запускают - как же не ждать конца света? :)
НЛО прилетело и опубликовало эту надпись здесь
Прямо дорога в светлое будущее. :)
На практике куча геморроя. UTF-16 и то лучше для большинства юзеров (которым не нужны суррогаты) была бы, за счёт символов одинаковой длины.
НЛО прилетело и опубликовало эту надпись здесь
Ну, это понятно... Но на практике каждое ТЗ начинается "мы будем использовать Уникод (в различных вариациях: UCS[-x], UTF-8)", а как доходит до реализации, начинаются геморои: а как передавать (UTF-какой?), как защищаться от дублирования ников (символы с похожими очертаниями), что делать с китайскими символами в полях ввода, введёнными глупыми пользователями, что делать при рассинхронизации потока в протоколе (или в legacy-файловом формате), что делать с существующей инфраструктурой в других кодировках и с другим уровнем поддержки юникода и т.п.

Тогда как вариант с использованием одной из cp1251/koi8-r/cp866 уже опробован и гарантированно убирает бОльшую часть таких неожиданностей.
хрен с ним с апокалепсисом, вижить, вероятность 1%. Откуда столько пафоса? занимайтесь лучше улучшением своей жизни, не сейте в массы панику)) а то дуриков много вдруг ещё кто в дот залезет ожидать чего-либо
НЛО прилетело и опубликовало эту надпись здесь
Кстати а причем здесь "англизация" юзеров. UTF-8 как раз создан для того, чтобы помочь не "англизованным" юзерам. Унификация и стандартизация в этой области это путь как минимум к безбаговости в области просмотра интернациональных контентов.
Про codeigniter не знаю. А вообще про UTF рекомендую почитать эту статью.
Надо отметить, что с тех пор часть проблем была решена.
правильно. остальным кодировкам давно пора умереть.
как-то я уже и не представляю где и зачем можно использовать что-то кроме UTF8
А вы у японцев спросите (http://en.wikipedia.org/wiki/Han_unification)
Ну разве что в каких-нибудь приборах с ограниченными ресурсами, наверное. А вообще правду говорите — смерть всем кодировкам, вива ля Юникод!
Например в IRC максимальная длина сообщения в UTF-8 ощутимо меньше чем ва cp1251, например.
брр.. например
Согласен. "Существует две кодировки: Unicode и Someothershit"
НЛО прилетело и опубликовало эту надпись здесь
Я понимаю. Просто это — цитата, и я не хотел её искажать. :)
НЛО прилетело и опубликовало эту надпись здесь
И шо, все-таки стали друг друга понимать?
По крайней мере, общаться стало в разы проще.
Легче общаться носителям одного и того же языка - да, решена проблема кодировок. Но тут UTF-8 преподносят как решение легендарной проблемы разноязычия :)
НЛО прилетело и опубликовало эту надпись здесь
Как я вас понимаю, порой возня с кодировками превращается с сущий ад
Ну можно также сказать, цель оправдывала средства (риск).
Ну а вдруг бы построили, представляете сколько мы бы сэкономили на ракетах, шатлах и т.д.. =)
копайте глубже...
зачем человечество вобще столько языков и буковок понапридумывало... обошлись бы одним английским (7-битным, кстати)!

Это эволюция...
А я и не против. С раскладками клавиатуры тоже было бы полегче, с шрифтами кириллическими да и вообще дофига всего бы упростилось.
обвинить в этом никого нельзя. Никто не мог предугадать бум интернета и компьютеризации всего и вся, нужно было с чего-то начинать.

Поэтому и обсуждать это бессмысленно. Подобных примеров масса: тот же ipv4 - ктож знал, что интернет будет в каждом холодильнике...
Если бы Эльбрус сделали пораньше, то все бы сейчас обходились кирилицей. Это был хоть прогнозируемый, но рандом.
Я всегда считал что язык должен быть один - английский ОК для меня. Но меня убедили что для разнообразия может быть еще несколько(а иногда это удобно).
Так что моя вавилонская башня состоит из одного общего и десятка языков чтобы все на всех уж слишком сильно не походили.
НЛО прилетело и опубликовало эту надпись здесь
Пятибитным, если забить на прописные :)
А цифры? Знаки препинания? Не, 6-ти битный надо :)
НЛО прилетело и опубликовало эту надпись здесь
Тогда маленькая часть мира имеет фору против неэсперантоговорящих. Простейший разговорный английский можно за неделю можно выучить.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Pri gusto de vino mi parolas kun tiu, kiu gxin gustumis. Pri utileco de libro mi parolas kun tiu, kiu gxin tralegis. Pri beleco de esperanto mi parolas kun tiu, kiu gxin ellernis. Do, kial vi pensas ke Esperanto estas acxa?

О вкусе вина я говорю с тем, кто его пробовал. О полезности книги я говорю с тем, кто её прочитал. О красоте эсперанто я говорю с тем, кто его знает. Итак, почему ты думаешь, что эсперанто — убожество? (отвечать на эсперанто!)
Это потому что эсперанто содержит оч много слов из русского языка. Представьте, как это будут осваивать индусы или китайцы(пол мира почти)
НЛО прилетело и опубликовало эту надпись здесь
Независимость смысла от места слова в предложении есть не только в русском.
У эсперанто еще фонетика на испанский похоже. Для азиатских народов это сложно выговаривать. Да и английский знают по всему миру уже. И он и есть стандарт международного общения.
Просто когда язык надо учить всем, важно не придержать тех, кто впереди, а подтолкнуть тех кто позади.
НЛО прилетело и опубликовало эту надпись здесь
Это не преимущество, а недостаток.
НЛО прилетело и опубликовало эту надпись здесь
Это конечно круто, что он выделяет. Но если я приеду в другую страну и, захотев кушать, пойду в простую мелкую закусочную - то я предпочту, чтобы продавец там знал международный язык.
И вообще 0101000111010101010001010001011?)
1
1101001! 10010101!? 1011010!
http://ulin.ru/humour/programmer-humour-01.gif
true
Ну я в общем-то это и имел в виду :)
Что такое язык междунардного общения? Это язык, который может использоваться для общения между народами. То есть, грубо говоря, язык на котором ты с большой вероятностью сможешь поговорить с первым встречным в другой стране (не в той, где ты живёшь). Это английский, испанский, французский, может быть китайский (китайцув сейчас можно в самых разных странах встретить). Но уж никак не эсперанто.

Это всё равно как предлагать использовать X.400 вместо SMTP для почты: да, есть масса преимуществ. Да, спамерам жилось бы гораздо хуже. Но... с кем вы собрались переписываться?
>может быть китайский
Может быть? :)
language|native speakers|total speakers
Mandarin Chinese|600 M|1,051 M
English|350 M|1,000 M
Да, но если мы вычтем из общего количества (total speakers) носителей языка (native speakers), то для китайского получится только 451 миллион, а для английского 650 миллионов - эти цифры куда важнее для применения в международном общении. Просто китайцев - гигантское количество, неудивительно, что они говорят на своём же языке.
Кстати удивительно то, что в Китае население больше миллиарда, а native speakers указано 600 миллионов.
Для начала, Китай - такая же большая страна, как и Россия и говорят там на каталонском, мандаринском и сотнях прочих языков.
> язык на котором ты с большой вероятностью сможешь поговорить с первым встречным в другой стране

Определение понятно. Да, эсперанто под него не подходит.

Но как тогда назвать язык, который каждый день используют тысячи разностранцев по всему миру, язык, международное использование которого на порядок превышает внутринародное (эсперантисты-соотечественники между собой почти всегда используют свой национальный язык, некоторые даже принципиально)?
если бы люди не строили вавилонскую башню, то отпала бы необходимость изучать разные языки) куда проблематичнее
НЛО прилетело и опубликовало эту надпись здесь
а в раю как дела с кодировками обстоят? ))
НЛО прилетело и опубликовало эту надпись здесь
...а архангел Гавриил и говорит: оБХЕП!
в "раю" вполне достаточно телепатии / НСО (несловестного общения), мыслеобразы каждому понятны ведь :)
НЛО прилетело и опубликовало эту надпись здесь
Хабр - порождение сатаны?
НЛО прилетело и опубликовало эту надпись здесь
Хабр — порождение НЛО :)
Во всем виноваты женщины
Во всём виновато Apple :)
Не было бы у Евы Apple - не было-бы секса или не надо было бы тра#@ться(Нужно подчеркнуть в зависимости от религиозных взглядов).
Если бы Ева не откусила от яблока, то нас с вами попросту не было бы.
НЛО прилетело и опубликовало эту надпись здесь
)
Ну есть, всё-таки, и плюс у немногоязычных кодировок - это вес символа.
В UTF-8 это 2 байта против 1 в cp1251 и проч.

Но он совершенно не перевешивает минусы, это факт.
2 байта не для всех символов, кстати.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
По ссылке я не ходил, но её осуждаю. Википердия пишет фигню (что нередко случается).
Ходить надо не туда, а на www.unicode.org.
Там, к примеру, написано, что "Unicode characters may be encoded at any code point from U+0000 to U+10FFFF", т.е. может быть до трех значащих байт на символ (но использовать при этом придется UTF-32, в коей от 4 байт на символ). Соотв. символ с кодом 10FFFFh в UTF-8 будет занимать те самые шесть байт.
Кодировку с названием UTF-32, хотя и можно построить, никто нигде не документировал, не программировал и не использует. Вы, вероятнее всего, имели ввиду UCS-4.
http://www.unicode.org/faq/utf_bom.html#UTF32
Мда, память меня подвела. Освежил информацию, спасибо.
НЛО прилетело и опубликовало эту надпись здесь
Ага, и меня дырявая башка подвела.
Только одного боюсь - чую, юникодная шайка на 110000h символах не остановится. Уже понапихали туда чуть ли не египетские иероглифы...
Древневавилонские. Но их не так много известных нам.
Известная фишка (годовалой или двухлетней давности) - в Юникод, даже с суррогатами (пресловутыми символами дальше 65535го), не входят иероглифы имён нескольких высокопоставленных китайских деятелей - лидеров страны с 1,5 миллиардами людей населения.
В частности и поэтому (но не только из-за этого, а по многим другим причинам) даже в азиатском регионе используют проприетарные двухбайтовые кодировки, где одинаковый, в сущности, иероглиф может занимать два кодепойнта (наподобие кириллических букв, имеющихся и в латинице), в зависимости от того, японский он или китайский, или ещё из-за каких-то факторов.
Я писал о самом распространённом для нас с вами случае - русских буквах в UTF-8.
Ну надо быть аккуратнее про "нас" :)
То есть непроживание в РФ повод для минуса?
мысль один: мы и сейчас строим вавилонскую башню
мысль два: всё же язык универсализуется обратно) (хотя я могу ошибаться)
В каждой стране свой язык. Еслиб был бы один язык на всех, то была бы и одна страна на всех? А если одна страна, то с кем ей соперничать и конкурировать, а т.к. изза конкуренции и идет развитие, то в одной стране на всю планету не было бы прогресса, не было бы компьютеров, и как следствие - не было бы кодировок.
прогресс был бы. Лень неубиваема
Ну да, в Бразилии бразильский язык.
Да и во всех остальных странах Латинской Америки - тоже Мексиканский, Аргентинский и т. п. :) Да и в США тоже местные, племенные языки индейцев.
Если бы не Торвальдс, сидели бы сейчас под вистой...
не будь нисков, винды бы не было вообще: как не крути, а ДОС был их отродьем
Тем не менее, радует то, что в большинстве последних дистрибутивов Linux по умолчанию utf-8. Радует то, что в интернете много статей про проблемы с локалями, про перенос баз из одной кодировки в другую и так далее. Даже смартфоны под Symbian используют utf-8. Прогресс на лицо :-) Что не делается - всё к лучшему
Боюсь, вы просто не в курсе: Вавилонская башня - рядовой междуреченский зиккурат, а куча языков была и до неё. А чтобы не мучиться с кодировками достаточно было не строить компьютеры.
Это сейчас у всех быстрый интерент и огромные диски и флешки, и все радуются utf-ам и кричат, что utf круто! Конечно utf круто, и мы со временем придем к тому, что останется только он. Но простите, 20 лет назад не было столь масштабных международных глобальных сетей, высоких скоростей и емких носителей, так что 256 символов ASCII (однобайтовая кодировка) был оптимальный вариант.
Да, были времена, когда в досе загружали keyrus.com :-)
а мне пофиг, у меня Штирлиц есть =)
ДЕЙНДЕП кЕАЕДЕБЮ ЙПСВЕ :)
Пх'нглуи мглв'нафх Ктулху Р'льех вгах'нагл фхтагн
НЛО прилетело и опубликовало эту надпись здесь
®е г¦ нв  Ї®Ј ­ п ¬®«®¤Ґ¦м...
№йни-айни!
НЛО прилетело и опубликовало эту надпись здесь
Э... скоро уже 2009 год наступит, а у кого-то все ещё остались проблемы с кодировками? Ужос! В наше то время... Осильте уж utf8 чтоле..
Заминусовал либо дряхлый любитель koi8 либо спешащий на пенсию обожатель cp1251? О боже.. любитель досовской кодировки.. некрофил на выезде...
кстати, регулярно в рунете замечаю ресурсы, где страница записана в CP-1251 и к тому же этот факт еще и не указан в HTTP-хедере.. как результат, слетает кодировка в браузере

на вопрос "почему ты не юзаешь utf-8?" таким "вебмастерам" — следует ответ "а зачем?"

X-/
Они отчасти правы. Если стоит сервер, замурованный в стене, и работает (Ц), зачем что-то менять?

Другое дело - в новых проектах.
так я про новые проекты и говорю

вот Хабрахабр — постоянно просходит такая фигня: постишь коммент, а он потом отображается в виде кракозябр (пример).. а всё потому, что CP-1251
НЛО прилетело и опубликовало эту надпись здесь
про 1Ц - отдельный разговор. они в приципе понимают только либо CP866, либо CP1251... Бухгалтерам больше и не нужно... Да и вообще, 640 килобайт должно хватить.. Копирайт сами поминте.. Вот 1С тем же путем идет.
Тогда понятно, латиница отображается одинаково в обоих кодировках.
Вот с какими проблемами кодировки символов может столкнуться тот, кто программирует на Java:
http://www.javaportal.ru/java/articles/ruschars/ruschars.html

В общем, хватает "весёлых" моментов. :)
Неделю назад поставил Убунту, перекодировал все свои скрипты, и теперь только UTF-8. Никаких костылей. Радостно :)
Точно, задолбало выяснять на транслите "Kakaya y teba kodirovka?"
Еще FreeBSD по дефолту под utf сделали бы....
а там до сих пор koi8?
Можете описать свою проблему?
Системная консоль не поддерживает UTF-8 ). Это не только его, а всех проблема)
НЛО прилетело и опубликовало эту надпись здесь
Кодировки — это фигня, сейчас UTF-8 везде (кроме, почему-то, Хабра и ещё некоторых мест). Основная долбёжка происходит со всякими арабами-евреями-сирийцами с их двунаправленным письмом и с языками Азии (композит на композите сидит и композитом погоняет). И веб-приложения от этого тоже не избавлены.
К сожалению UTF-8 хотя и является сайчас самой распространённой кодировкой, но далеко ещё не везде. А в отдельных регионах (скажем в России или в Японии) другие кодировки всё ещё популярнее, чем UTF-8.
Автор, вы ISO 8859-5 забыли ;)

До недавних времён она была дефолтной в X для русского языка. Только в этом году сменили, "потому, что никто всё равно не пользуется" на UTF-8. Не прошло и десяти лет...
Тык, дело в нас самих. Если бы кто-то умный из наших поднял бы этот вопрос раньше, сменили бы раньше. Хватит уже и того, что буржуи больше нас самих над поддержкой русского в юникоде работали.
А вот кстати про проблему апача с кодировками в модуле mod_autoindex почему то нигде ничего не написано. Видел где-то только, что там тупо в исходник прописана ISO. Обидно :-( Даже DefaultCharacterSet не помогает
Вы неправы, либо у вас старый Apache. Вот фрагмент конфига mod_autoindex, который указывает ему сами понимаете что:

# Файловая система - в юникоде
IndexOptions Charset=UTF-8

Результат налицо, правда, только в заголовках ответа:

Content-Type: text/html;charset=UTF-8

Кстати говоря, нашёл я это когда-то в доках: http://httpd.apache.org/docs/2.2/mod/mod_autoindex.html#indexoptions
Спасибо большое. Я как всегда лоханулся... Два дня искал, и не нашел))) Сейчас попробую
этих ЮТФ кодировок тоже не мало...
одни программы понимают ЮТФ8, но не понимают ЮТФ16, другие - наоборот.
одни понимают БОМ, а другим от него становится плохо.
НЛО прилетело и опубликовало эту надпись здесь
+1
У вас неправильная кодировка.
Если бы люди не строили вавилонскую башню, то вообще не с чем было бы париться, не было бы ни компьютеров, ни современной цивилизации.
Проблемы будут до тех пор, пока программисты кодеры будут лениться реализовывать UTF в своих программах. До тех пор пока будут альтернативы — обязательно найдется человек, который захочет их использовать (и будет с пеной у рта доказывать что только так и надо). А на самом деле, это проистекает от того, что начинающий программист слушал "эксперта", который, наслушавшись других "экспертов" вещал, что юникод это сложно, это много памяти и что непереносимо.

Вообще, в инете была где-то статья; называлась что-то вроде "Мифы о Unicode" — там хорошо были описаны аппаратные и, главное, психологические проблемы перехода на юникод. Если кто знает ссылочку, поделитесь пожалуйста :)
Отсюда вывод - различные кодировки, это не ошибка человеков, в фича божия... :-)
Вы ещё скажите, что "Если бы люди не стали строить вавилонскую башню, то сейчас бы" все говорили только на русском :-)
На эсперанто. :)
кодировки, кодировки.... А в линухе интерфейс на башкирский перевести некому. :)
А без этого в некоторых местах ругаются.
"Хочешь чтобы что то было сделано правильно - сделай это сам"
Когда-то ушёл с Bred'a на PHP Expert Editor из-за отсутствовавшей поддержки UTF-8. У стех пор прошло много времени и Bred уже поддерживает UTF-8, но я остался на PHPEE.
Он же давно устарел.
Устарел, еще не значит что плохой ;)
Надо чтоб microsoft обновление для IE выпустило, в котором все кодировки кроме utf удаляются. Все вебмастеры тогда забегают и переведут сайты на utf-8. ))
Может лучше сам ИЕ, того-этого? Ну хотя бы ниже седьмой версии.
А подскажите, кто знает, скрипт для batch перекодирования из cp1251 в utf-8 файлов на хостинге. Язык любой.
А то с прежних времен скопилось много кода, весь на 1251.
В unix-е для любого plain-text файла можно:
cp FILE FILE.cp1251 && iconv -f cp1251 -t utf-8 <FILE.cp1251>FILE && rm FILE.cp1251
или, если есть:
enconv -L ru -x utf8 FILE

Но это самая простая часть. Сложнее найти и поправить всякие меты с content-type в html файлах, проверить и отладить скрипты на работу с юникодом (вывод, ввод, сортировка, регекспы), переконфигурировать апач, если надо.

PS: команды я проверил, но никому не доверяй, даже мне! Забэкапь все предварительно и протестируй на чем-нибудь не важном :)
spiritedflow
а я вот измучился с iconv на AIX
# iconv -f CP1251 -t UTF-8 multcrcrit_help.htm > test.htm
iconv: 0791-004 cannot open converter
как толька я эту CP1251 не писал и маленькими буквами и windows-1251 - ну не находит AIX конвертера и все тут! Нашел список кодировок AIX - в нем действительно нет упоминания про кодировку 1251. Ни UNIX, ни Linux у меня нет, тока AIX и WIN. Что делать - ума не приложу. Может кто сможет подсказать как быть. У меня несколько тысяч htm файлов и мне с ними notepad'ом не управиться никак :-(
НЛО прилетело и опубликовало эту надпись здесь
Кракозябры на практике
НЛО прилетело и опубликовало эту надпись здесь
не было бы cp1251 и KOI8-R ...
И тогда, когда у мамы возникла проблема с отображением кодировок, она бы не позвонила моему будущему папе... :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории