Хотелось бы немного рассказать об особенностях UTF кодировки и для чего она нужна, а также стоит или нет переходит на эту кодировку, если ваш сайт уже стоит с использованием кодировки windows-1251. Итак, для начала развеим миф о том, что UTF-8 является новомодной штукой, и каждый сайт просто обязан ее иметь, это неверно и кодировка UTF-8 предназначена исключительно для одной вещи: использование на одной странице нескольких языков, а также для организации сайтов использующих язык отличный от русского. Поэтому если ваш сайт на русском языке и вы не планируете использование какого либо другого языка, то переход на UTF лишен какого-либо смысла. Более того для русскоязычных сайтов данная кодировка обладает рядом недостатков, а именно: 1. Размер базы данных русскоязычного сайта будет примерно на 70% больше по сравнению с использованием национальной кодировки windows-1251, что соответственно скажется на производительности сайтов с большими базами данных. 2. Шаблоны и языковые файлы для кодировки имеют специфический формат файлов (UTF формат без BOM байтов), соответственно для редактирования файлов шаблона вам понадобятся специализированные редакторы, поддерживающие этот формат. Из бесплатных это например notepad++. Сохранение этих файлов в неверном формате приведет к нечитаемости вашего сайта. Поэтому мы не рекомендуем использовать кодировку UTF-8 на сайте, если вы не планируете использование на сайте других языков, отличных от русского, английского, украинского языков.
bposter81, к вам обращаюсь. Хорошо объяснил разницу. Но, имею несколько дополнений. 1. Ошибочно утверждать, что размер базы данных будет на 70% выше. Например: я свои данные храню в БД (MySQL) в кодировке cp1251_general_ci (та же самая Windows-1251), а сайт работает на кодировке UTF-8. Чтобы все корректно работало, достаточно перед выборкой данных отправить запрос "SET NAMES utf8" (тем самым объяснить СУБД, что данные в ответ нужны в UTF-8). 2. Нет ни чего сложного в редактировании файлов в кодировке UTF-8. Это делается точно так же, как и с Windows-1251. И заявление "Сохранение этих файлов в неверном формате приведет к нечитаемости вашего сайта" лишено смысла. Это справедливо и для Windows-1251, не правда ли? 3. Применение кодировки UTF дает некоторый плюс. Пример: если русскоговорящий пользователь, проживающий в Японии, захочет посетить ваш сайт, то он рискует увидеть на страницах не читаемый текст, а набор непонятных символов (кракозабры). Почему? А все потому, что на его компе установленная локаль может быть без поддержки Windows-1251. А UTF есть практически на всех машинах.
Ну дык, размер базы данных же большой! Если у меня в тексте иногда будут присутсвовать слова на английском как я выше написал, ,будет нормально отображать?
на утф вам придется каждый шаблон конвертировать с c1251 на утф, а на с1251 уже можно спокойно заливать на сервер.
Итак,
для начала развеим миф о том, что UTF-8 является новомодной штукой, и
каждый сайт просто обязан ее иметь, это неверно и кодировка UTF-8
предназначена исключительно для одной вещи: использование на одной
странице нескольких языков, а также для организации сайтов использующих
язык отличный от русского. Поэтому если ваш сайт на русском языке и вы
не планируете использование какого либо другого языка, то переход на UTF
лишен какого-либо смысла. Более того для русскоязычных сайтов данная
кодировка обладает рядом недостатков, а именно:
1.
Размер базы данных русскоязычного сайта будет примерно на 70% больше по
сравнению с использованием национальной кодировки windows-1251, что
соответственно скажется на производительности сайтов с большими базами
данных.
2.
Шаблоны и языковые файлы для кодировки имеют специфический формат
файлов (UTF формат без BOM байтов), соответственно для редактирования
файлов шаблона вам понадобятся специализированные редакторы,
поддерживающие этот формат. Из бесплатных это например notepad++.
Сохранение этих файлов в неверном формате приведет к нечитаемости вашего
сайта.
Поэтому
мы не рекомендуем использовать кодировку UTF-8 на сайте, если вы не
планируете использование на сайте других языков, отличных от русского,
английского, украинского языков.
1. Ошибочно утверждать, что размер базы данных будет на 70% выше. Например: я свои данные храню в БД (MySQL) в кодировке cp1251_general_ci (та же самая Windows-1251), а сайт работает на кодировке UTF-8. Чтобы все корректно работало, достаточно перед выборкой данных отправить запрос "SET NAMES utf8" (тем самым объяснить СУБД, что данные в ответ нужны в UTF-8).
2. Нет ни чего сложного в редактировании файлов в кодировке UTF-8. Это делается точно так же, как и с Windows-1251. И заявление "Сохранение этих файлов в неверном формате приведет к нечитаемости вашего сайта" лишено смысла. Это справедливо и для Windows-1251, не правда ли?
3. Применение кодировки UTF дает некоторый плюс. Пример: если русскоговорящий пользователь, проживающий в Японии, захочет посетить ваш сайт, то он рискует увидеть на страницах не читаемый текст, а набор непонятных символов (кракозабры). Почему? А все потому, что на его компе установленная локаль может быть без поддержки Windows-1251. А UTF есть практически на всех машинах.