А какую кодировку используете Вы? UTF-8 VS win-1251

Я выбираю:

  • UTF-8

    Голосов: 0 0,0%
  • windows-1251

    Голосов: 0 0,0%
  • другая

    Голосов: 0 0,0%
  • по ситуации

    Голосов: 0 0,0%

  • Всего проголосовало
    0
Статус
Закрыто для дальнейших ответов.

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
Сейчас я замечаю, что идет повальный переход на UTF-8. Даже те, у кого сайты целиком и полностью нацелены на русскоязычную аудиторию, задумываются над этим вопросом.
Лично я, еще не осознал для себя данной проблемы. Я искренне не вижу необходимости в переходе на UTF-8, допустим для ИТ.ру или этого форума, ведь аудитория русскоговорящая...

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

Собственно, что я вижу, в случае перехода на UTF-8 для моих проектов.

Минусы:

1) Увеличение размера (файлов, базы) ведь мы знаем, что на 1 символ используется от 1-4 байтов.
2) Из п.1 следует некоторое понижение производительности.
3) Необходимость замены всех строковых ф-ий.
4) Возможные проблемы с регулярными выражениями. Ждем PHP6.
5) При отправке писем, все равно придется менять кодировку на win-1251.

Плюсы:

1) Использование универсальной кодировки
2) ...

Все выше сказанное – ИМХО. Цель моего поста – разобраться с темой, поэтому очень хотел бы узнать ваше мнение о сложившейся ситуации и ваши взгляды на плюсы и минусы.

UPD: Добавлено голосование.
 

SLA

Новичок
Регистрация
25.05.2009
Сообщения
1
Я обеими руками за UTF-8. Попробую и вас переубедить :)

Мне кажется, 8-битные кодировки текста - это что-то ущербное и неправильное, и должно отмереть, аналогично друхзначному способу записи года в датах (Y2K-проблема). Вся предыдущая история развития компьютерных кодировок текста нужна была только для того (и неизбежно привела к тому), что в итоге появилась одна универсальная кодировка. Единый стандарт, 100% универсальный, подходящий для общения между любыми системами и устройствами. Без боязни "потерять" часть данных при перекодировании текстов.

1) Увеличение размера (файлов, базы) ведь мы знаем, что на 1 символ используется от 1-4 байтов.
Разве жалко места на сервере? :) За многие годы ведения блога накопится ВСЕГО несколько мегабайт текста. В наше время, гораздо больше места занимает мультимедиа - видео, картинки, аудио. Когда я задумываюсь над тем, какого размера архив на YouTube.com, меня пот прошибает. Что уж там этот юникодный текст? Капля в море. :)

2) Из п.1 следует некоторое понижение производительности.
Дольше обрабатываются SQL-запросы? Насколько дольше? :) Есть много примеров, жутко нагруженных популярных сайтов, работающих в UTF-8, и они прекрасно справляются. Ну а для ведения небольшого блог-сайта -- вообще никаких проблем.

3) Необходимость замены всех строковых ф-ий.
Это отговорка :) Все НОВЫЕ сайты нужно изначально создавать в UTF-8. А старые... их тоже несложно переделать, достаточно лишь один раз основательно разобраться, какие именно функции, и как, нужно подправить. Разобравшись, задача становится достаточно простой. Об этом, кстати, немало написано хороших инструкций в интернете.

4) Возможные проблемы с регулярными выражениями. Ждем PHP6.
Согласен, ждем PHP6. "Все дороги ведут в Рим!" :) PHP, когда-нибудь, придет к 100% поддержке UTF-8, как кодировки "по-умолчанию" для ВСЕХ функций языка. (Примером такого "юникодного" языка является C#. Программировать на нем - одно удовольствие! Потому, что все ультра-современные технологии "общаются" только на UTF-8 и UTF-32).

5) При отправке писем, все равно придется менять кодировку на win-1251.
А зачем? :) Все современные почтовые программы и вебсервисы тоже прекрасно поддерживают UTF-8. Разве нет?

Кстати, о почтовых вебсервисах. Представьте, что вам нужно создать такой сервис. В какой кодировке предпочтительно было бы отображать все страницы сайта? Ага! То-то же! :)) Любые кодировки писем можно БЕЗ ПОТЕРИ ДАННЫХ (и головной боли!) сконвертировать в UTF-8. А в любую другую 8-битную - нельзя.

И напоследок, подумайте, как будет выглядеть ваш сайт, если я здесь напишу комментарий, скажем, на китайском? :) Ну это же будет очевидный "дефект", выглядящий так, как будто у вас заглючила база данных. А что, если я ХОЧУ написать какое-то иностранное слово или цитату? Или делаю copy-paste огромной статьи на русском, в котором есть ВАЖНЫЕ цитаты на иностранном? Ужас, придется перечитывать весь текст, чтоб убедиться, что он правильно отображается. НЕОБХОДИМОСТЬ ЭТОГО ЛИШНЕГО ДЕЙСТВИЯ - ЯВНЫЙ ПРИЗНАК УЩЕРБНОСТИ САЙТА! На сайте, работающем в windows-1251, использование таких не русских и не ланинских текстов просто технически невозможно. А жаль, это означает, что сайт неполноценен, недоразвит, незакончен. Не выдав никакого предупреждения об ошибке, он просто "сожрет" все иностранные цитаты. Ну чем не баг?.. Слава Богу, такие сайты уходят в прошлое, и если сайт крутится, например, на WordPress, в него можно "постить" все и вся. Это называется свобода.
 

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
Очень доходчиво, спасибо.
Думаю, что ради эксперимента, переведу сайт на UTF-8 на локалке...потестирую.
Дольше обрабатываются SQL-запросы? Насколько дольше? :) Есть много примеров, жутко нагруженных популярных сайтов, работающих в UTF-8, и они прекрасно справляются. Ну а для ведения небольшого блог-сайта -- вообще никаких проблем.
Что скажете по поводу увеличения длины полей, например не CHAR(255), а уже VARCHAR(765)? И вообще изменений проводимых с БД?

И как дела обстоят с возможными SQl-инъекциями, я знаю, что один и тот же символ можно отобразить несколькими вариантами (в ввиду интернациональности)?
 

medwoodu

Злобный модер
Регистрация
22.12.2005
Сообщения
1 418
в плюсы - нормальная работа сервисов xml - ajax
почта в utf-8 прекрасно работает

Насчет баз: если база начинает тормозить - то надо либо оптимизировать кешированием, либо увеличивать мощности либо переходить на постгр :) а увеличение объемов не должно сильно сказываться на производительности
 

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
в плюсы - нормальная работа сервисов xml - ajax
почта в utf-8 прекрасно работает
Полностью согласен:)

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

Другое дело, это работа со "стрингами"...тут возникли некоторые сложности, хотя на данном этапе большая часть уже решена)
 

Ivan

суперМодератор
Регистрация
10.01.2007
Сообщения
316
Оптимальным путём я пришёл к решению, что новые сервисы пишу на utf8, старые поддерживаю но не развиваю.

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

Вот и получается, что волей не волей переходишь на utf8, даже если проект только для русско-язычной аудитории.
При этом сидишь и радуешься, что мол - теперь аджакс работает, и пиндосы всякие постить могут.

Эх.. навязыват нам utf.

В общем, сложно сказать "koi8 рулит" (моя любимая кодировка), т.к. все вкусняки сейчас на utf.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ