Jump to content
  • 0

Почему рекомендуют utf-8


PavelTkachev
 Share

Question

Решил я проверить сайт на валидаторе W3C. А он мне и говорит: Legacy encoding windows-1251 used. Documents should use UTF-8. И почему так? У меня сайт на русском. Зачем мне лишний трафик?

 

Какие есть причины делать сайт на utf-8?

Link to comment
Share on other sites

22 answers to this question

Recommended Posts

  • 0

Вот рассуждения на тему - правда не мои

 

Итак, для начала развеим миф о том, что UTF-8 является новомодной штукой, и каждый сайт просто обязан ее иметь, это неверно и кодировка UTF-8 предназначена исключительно для одной вещи: использование на одной странице нескольких языков, а также для организации сайтов использующих язык отличный от русского. Поэтому если ваш сайт на русском языке и вы не планируете использование какого либо другого языка, то переход на UTF лишен какого-либо смысла. Более того для русскоязычных сайтов данная кодировка обладает рядом недостатков, а именно:

1. Размер базы данных русскоязычного сайта будет примерно на 70% больше по сравнению с использованием национальной кодировки windows-1251, что соответственно скажется на производительности сайтов с большими базами данных.

2. Шаблоны и языковые файлы для кодировки имеют специфический формат файлов (UTF формат без BOM байтов), соответственно для редактирования файлов шаблона вам понадобятся специализированные редакторы, поддерживающие этот формат. Из бесплатных это например notepad++. Сохранение этих файлов в неверном формате приведет к нечитаемости вашего сайта.

А вот железный лом в бок

 - современные сайты разрабатываются с использованием AJAX запросов и использование UTF-8 позволяет решить массу проблем при использовании данных запросов

- В кодировке UTF‑8 вы можете непосредственно включать в документ любые символы из всего набора Unicode. Старинные кодировки (например, Windows‑1251 или KOI8‑R) предоставляли не более 256 символов, а в Unicode есть свыше 100 000 символов. Среди них — типографские знаки (тире, кавычки, многоточие, апостроф, неразрывный пробел, неразрывный дефис и пр.), специальные символы (№, §, ©, ‰, × и пр.), буквы с диакритическими знаками и лигатуры (é, è, Ü, Æ, ø, fi и пр.), символы почти всех существующих в мире алфавитов (α, Ω, א, ת, ѣ, 伲, 儻 и пр.), пиктограммы и значки (→, ■, ♥, ☺ и пр.) и множество других символов.  и т.п.

Link to comment
Share on other sites

  • 0
- современные сайты разрабатываются с использованием AJAX запросов и использование UTF-8 позволяет решить массу проблем при использовании данных запросов

 

Чем меньше данных, тем быстрее работает на мобильном устройстве. А данные для AJAX можно и перекодировать.

 

- В кодировке UTF‑8 вы можете непосредственно включать в документ любые символы из всего набора Unicode.

 

В других тоже можно через представление utf-8 символа в html или через css.

 

А за ответ - спасибо. Я понял, что для меня нет никакого смысла в переходе на utf-8. Но за предупреждение при валидации всё равно обидно.

Link to comment
Share on other sites

  • 0

На самом деле с учетом разметки, которая вся из ASCII, разница в объеме не 70%, а от силы 20-30%. С учетом gzip-сжатия (которое для экономии трафика и мобильности куда важнее) — и того меньше, всего ничего. Зато никаких проблем со вставками любых символов из любого источника.

Link to comment
Share on other sites

  • 0
стандарты которые желательно блюсти

 

В случае предупреждений при проверке HTML5 это не совсем так. Стандарт формально соблюдается и с устаревшей кодировкой, но валидатор (точнее, «проверятор-помогатор») дает подсказку, где экономия на спичках может обернуться реальными граблями и головняком (подключение сторонних скриптов типа счетчиков и соцкнопок, интеграция с CMS, необходимость в чем-то типа htmlentities() для любого контента из неизвестного источника, и т.п.).

Link to comment
Share on other sites

  • 0

Да пусть win-1251 юзает, пока сам не запнётся, то не будет UTF-8 использовать (или будет делать себе лишнюю работу по преобразованию из одной кодировки в другую ради сомнительного выигрыша).

 

Помню как-то давным-давно на сайте с win-1251 надо было дать ссылки на китайскую версию сайта. Сидел и искал мнемонические коды для каждого символа текста ссылки.

  • Like 2
Link to comment
Share on other sites

  • 0

Вот кстати ещё интересно, а как ТС будет передавать вёрстку на привязку? Сейчас все БД хранят всё в UTF-8, да даже просто сервера настроены на UTF-8. 

 

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

Edited by antonKar
Link to comment
Share on other sites

  • 0

 

Сейчас все БД хранят всё в UTF-8

 

Не все.

 

 

ок, давайте поиграем со словами и скажем, что 1% процент БД не хранит данные в utf-8, и конечно же это достаточная причина, чтобы верстать в win-1251.

Link to comment
Share on other sites

  • 0

Не понял, почему мы уговариваем ТС переходить на UTF-8? Хочет использовать 1251, пусть использует.

 

Я не уговариваю, мне интересно как будет поступать ТС в предложенных мной юзкейсах.

Edited by antonKar
Link to comment
Share on other sites

  • 0
ок, давайте поиграем со словами и скажем, что 1% процент БД не хранит данные в utf-8, и конечно же это достаточная причина, чтобы верстать в win-1251.

 

У меня все базы данных, а их уже несколько десятков, в cp1251_general_ci. И сайты в той же кодировке. Так что моё микро-всё-человечество на 100% использует только windows-1251. ^_^

Link to comment
Share on other sites

  • 0

по мне - 1251 можно сравнить с мотоциклом, а если добавить к нему пару колес, крышу и удобные сидения получится utf. На мотоцикле быстро и удобно, но только летом в ясную погоду, а вот utf подходит еще и для пасмурной и холодной погодки. И не знаешь куда тебя заведет дорога нашей необъятной профессии, а дороги в России как говорится ....

 

В общем мораль такова: можно ездить на мотоцикле, если все гладко, а можно на utf и не париться :)

Link to comment
Share on other sites

  • 0

У меня сервера на Windows. У него windows-1251 - родная кодировка. Куча проблем с постоянным перекодированием была когда я использовал utf-8. А сейчас их больше нет. Поэтому мне особенно стало обидно, что валидатор мне предупреждение выдал.

Link to comment
Share on other sites

  • 0
У меня все базы данных, а их уже несколько десятков, в cp1251_general_ci. И сайты в той же кодировке. Так что моё микро-всё-человечество на 100% использует только windows-1251.

Ну так а мы говорим о масштабах всечеловеческих. Когда ты сам себе режиссёр, то можно хоть китайскую кодировку себе ставить и париться с ней. А вот когда ты начнёшь взаимодействовать с внешним миром - тут уже непорежиссёрствуешь.

 

Я в последний раз БД на win-1251 видел году так в 2013-ом, и то база была старая с 2005 года, ни у кого потом больше не было win-1251.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy