ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
|
Результаты опроса: Какую кодировку предпочитаешь ты?
|
|
cp1251
|
  
|
18 |
1.70% |
|
utf-8
|
  
|
1,039 |
98.30% |
 |
|

07.11.2008, 14:51
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
Ты хочешь опровергнуть очевидные факты, что текст в кириллице занимает 2 байта в UTF8 против одного в CP1251?
А документ у тебя только из кириллицы состоит? У меня нет. У меня в нем есть еще латиница и другие символы.
а так же не предоставивщий никаких аргументов против, не заслуживает внимания для продолжения дискусии по данной теме...
Ну я сделал исключение и говорил с тобой, хоть согласно твоим принципам ты и не заслуживал моего внимания(ты сам это написал  )
Доводы я предоставил. В т.ч. и не я(ссылка на хабр). Ты не слушаешь) Ну и ладно, хорошо, что больше не напишешь в этой теме)
|
|
|

07.11.2008, 14:54
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
Идеологическая борьба между сторонниками cp1251 и utf8 длится уже давно. Сам не раз сталкивался с разногласиями между разработчиками по поводу того, какую кодировку использовать. Захотелось наконец расставить точки над “и”. Причем хочется все достаточно хорошо обосновать, чтобы не возникало сомнений в моей голословности.
Итак, почему же до сих пор большинство разработчиков используют сp1251(windows-1251)? Это связано с рядом причин.
Во-первых, большинство php-разработчиков до сих пор разрабатывают свои программы под ОС Windows(как ни странно), где cp1251 является стандартной кодировкой и ее поддерживают все текстовые редакторы. Лично я работаю под Linux, поэтому этой причины использования cp1251 мне не понять  … Хотя, в windows уже даже стандартный блокнот поддерживает utf8 с таким же успехом, как и cp1251.
Во-вторых, исторически сложилось так, что старые версии MySQL (до 4й) — некорректно работали с utf8. Причем операции с сортировками глючили аж до версии 4.1. Поэтому очень много продуктов, которые развивались в течение многих лет до сих пор остаются на cp1251, а новички берут с них пример.
В-третьих, как мы знаем — один символ кириллицы в cp1251 занимает 1 байт, а в utf8 — 2 байта. Как ни странно, многих это пугает  . Однако сомнения будут развеяны ниже.
Навскидку больше не смог найти причин использования cp1251.
А вот причины использовать utf8 даже искать не пришлось — они очевидны!
Во-первых, В кодировке UTF‑8 вы можете непосредственно включать в документ любые символы из всего набора Unicode. Старинные кодировки, такие как cp1251 или KOI8‑R (извинте, но они на самом деле уже старинные, ибо будущее за utf8  ) предоставляли не более 256 символов, а в Unicode есть свыше 100 000 символов. Среди них — типографские знаки (тире, кавычки, многоточие, апостроф, неразрывный пробел, неразрывный дефис и пр.), специальные символы (№, §, ©, ‰, × и пр.), буквы с диакритическими знаками и лигатуры (é, è, Ü, Æ, ø, fi и пр.), символы почти всех существующих в мире алфавитов (α, Ω, א, ת,, 伲, 儻 и пр.), пиктограммы и значки (→, ■, ♥, ☺ и пр.) и множество других символов. Самое классное в этом всём это то, что все эти символы можно вставлять непосредственно в редакторе (из таблицы символов или с помощью горячих клавиш), что делает код куда более читабельным, нежели использование кракозяб вроде π — или π (альтернативы в cp1251).
Во-вторых, хочется оспорить то, что страницы на utf8 имеют гораздо больший размер, чем на cp1251. Символы ASCII(латиница, арабские цифры, знаки препинания и т.д.) занимают в utf8 всего один байт, так же как и в cp1251. Таким образом при создании страниц на латинице никаких увеличений в размере страниц не наблюдается. С кириллицей — согласен. Если документ содержит только буквы русского алфавита и никаких других символов (что, согласитесь, бывает достаточно редко, ибо без html-тегов не сильно обойдешься  ) — то в UTF‑8 он действительно станет в два раза больше. А если в нём, например, поровну русских и арабских букв — в UTF‑8 он будет в два раза меньше, чем, например, в cp1251. Чаще всего — основной вес страницы составляет не html-код, а всякого рода javascript, flash, картинки, css и т.д. Тем, кто заботится о «весе», следовало бы в первую очередь выкинуть из кода подстановки для тех символов, которым они не нужны, например, — для длинного тире или для неразрывного пробела (ой, как часто я вижу это в страницах новичков). Видим, что вместо 1 знака длинного тире мы пишем 6, вместо 1 знака неразрывного пробела мы пишем 5 знаков. И где же экономия? Действительно, иногда доходит до маразма — некто упирается: «Не буду делать страницы в UTF‑8, потому что они от этого увеличиваются» — а сам при этом ваяет код с жуткими атрибутами и подстановками, который без них мог бы быть в пять раз короче.
В-третьих, основное достоинство — это универсальность! Лично я не создаю свою CMS исключительно для русскоязычного сегмента рынка web-технологий. Благодаря utf-8 я могу создавать сайты без каких-либо переделок как для американцев, так и для немцев(с их буквочками вроде Ü), так и для арабов, так и для китайцев! И мне все равно, какой кодировка у них установлена, а какая нет, ибо Юникод у них установлен 100%.
В-четвертых, Юникод является стандартом для работы таких частоиспользуемых ныне фунций php, как json_encode/json_decode, а так же используемого в Ajax XHttpRequest. Причем, начиная с 6й версии PHP Юникод станет стандартом почти для всех строковых функций.
И напоследок, многие ссылаются на то, что люди постепенно переходят на utf8 потому, что “кто-то умный сказал, что это хорошо”. Соглашусь, кто-то умный это сказал уже давно, а именно — Консорциум W3C (кому-то эти 3 буквы что-то говорят?  ). И рекомендует он использовать для создания веб-страниц ни что иное, как utf8. Для тех, кто знает английский (а есть программисты, кто его не знает?  ) — можете почитать тут: www.w3.org/International/questions/qa-utf8-upgrade.en.php
Автор: Константин Юревич
Источник: php.webconsulting.by/2008/05/03/luchshaya-kodirovka-utf-8-vs-cp1251/
|
|
|

07.11.2008, 16:43
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
Не ожидал что тема превратится в такой спор)))
Если судить по себе..то когда я ещё не работал с юникодом, делал всё только в ср1251 и меня бы спросили что я предпочитаю...я бы сказал ср1251, а про юникод знать не знаю...и началось всё с того что я решил покопаться в одном забугорном движке, который поддерживал только ср1252 (западноевропейская).
Кто-то говорил что нужно перекодировать базу данных при переводе на юникод....это исправляется одним запросом SET NAMES UTF8...правятся скрипты...но и это тоже не вызывает никаких проблем...
поэтому опять же судя по себе...возможно многие ещё сидят на ср1251 потому что не пробовали или не хотят пробовать с ней работать...поэтому утверждают что 1251 лучше...
Поработайте с UTF, поймёте что она универсальней
советую ещё почитать статью http://webmastak.com/article.aspx?id=300
|
|
|

07.11.2008, 18:16
|
|
Постоянный
Регистрация: 06.06.2007
Сообщений: 335
Провел на форуме: 1487377
Репутация:
392
|
|
Я Действительно не пробовал, поэтому сказал что 1251 лучше, пойду переводить движок на утф8:-)
|
|
|

07.11.2008, 18:43
|
|
Участник форума
Регистрация: 31.07.2008
Сообщений: 207
Провел на форуме: 299231
Репутация:
107
|
|
Собственно, за юникодом-ютфой будующее, но есть но: на моих системах однажды что-то ютф8 глюканул - "И", "Г" и "г" стали буказябрами. И бороться с этим никак не получилось. так что хорош-то хорош, но если глюк - то облом.
ЗЫ подскажите кто, как исправить мою траблу. желательно пишите в лс - не мутите топик )
|
|
|

07.11.2008, 19:39
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
не пробовал, поэтому сказал что *** лучше
фу таким быть.
|
|
|

07.11.2008, 20:49
|
|
Постоянный
Регистрация: 06.06.2007
Сообщений: 335
Провел на форуме: 1487377
Репутация:
392
|
|
Я просто не знаю КАК? надо файлы сохранять по другому, или просто при подключении к бд и в заголовках?
|
|
|

07.11.2008, 23:45
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
Сообщение от Zedi
Я просто не знаю КАК? надо файлы сохранять по другому, или просто при подключении к бд и в заголовках?
файлы сохраняешь не в ANSI, а в UTF и всё...базу можешь оставить в cp1251 (ну лучше конечно перевести на юникод...но перекодировать заебёшься)....ну и при подключении к базе использовать кодировку utf...вот и всё )) ничего сложного.
|
|
|

08.11.2008, 00:05
|
|
Участник форума
Регистрация: 31.07.2008
Сообщений: 207
Провел на форуме: 299231
Репутация:
107
|
|
Аха, потом зайти в пхпмайодмин и увидеть вместо свежего поста кракозыбры ) (бывает - браузер кодировки смешанные не любит.)
|
|
|

08.11.2008, 00:12
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
Сообщение от vikseriq
Аха, потом зайти в пхпмайодмин и увидеть вместо свежего поста кракозыбры ) (бывает - браузер кодировки смешанные не любит.)
ничё подобного...если ты будешь заносить данные в нужной кодировке ничего подобного не будет
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|