^ Наверх
Тегам
apple tv, bootstrap, centos, cheat sheets, chyrp, cms, cp1251, css, css-framework, daos, ddos, denwer, disqus, dns, doodles, efix, endels, evernote, firefox, flash, forex, forex mmcis group, google, google drive, hosts, httrack, hypercomments, input, intensedebate, ipad pro, iphone, iphone 6s, iphone 6s+, jquery, json, lenovo, livejournal, lj, mac os, mac pro, mamp, microtext, monstra cms, ping-admin, reg.ru, selectel, simaphone, stick footer, template cms, textpattern, to do, toup, uptime, utf8, vds, xampp, агс, банковская карта яндекс.денег, блог-клиент, блоггинг, верстка, виртуальный сервер, выравнивание в блоке, гидеон сундбек, гоша, дудлы, задачка, идея, инвестиции, интернет-магазин, кино, клиенты, кодировка, комменты, кросспостинг, микро cms, молния, мониторинг, мотив, мошенники, наверх, облако, обои, оптимизация, оффлайн, оффтоп, ошибки, платон, почта для домена, прижать футер, проверка flash, рип сайта, сателлиты, ссср, старт, техника, управление временем, успехи, фотоальбом, фоторепортаж, хостинг, цели, шпаргалки, шпоры, электронные деньги, яндекс, яндексдиск, яндекс мерика, яша
Сортировать по:

cp1251

Как известно, сейчас работать с кодировкой cp1251 считается плохим тоном. Причин для этого предостаточно, но суть их сводиться к одному – ограниченным возможностям cp1251, которая использует однобайтовый принцип кодирования и способна работать только с 255-ю символами. В принципе, для русского языка это предостаточно. Но, я предпочитаю в своих проектах использовать UTF-8, которая вполне справляется в кирилицей, дает дополнительные возможности, в частности многоязычности и совместимости. Для сравнения UTF-8 может использовать 6-и байтную систему кодирования и этим все сказано.

Время от времени приходиться, по той или иной причине, сталкиваться с cp1251. И, как правило, всегда приходиться справляться с кракозябрами. Вот так, несколько дней назад переносил на свой сервер сайт нового клиента, сделанный 3 года назад как раз в этой кодировке. Как и стоило ожидать после обновления DNS каракули не заставили себя ждать.

Поэтому я думаю будет полезно расставить точки над «i» и перечислить моменты на которые стоит обратить внимание при возникновении аналогичных проблем.

Первое, это конечно мета тег определяющий заголовок html документа:

meta http-equiv=“content-type” content=“text/html; charset=windows-1251”

для html5 проще

meta charset=“windows-1251”

Второе, это кодировка базы данных и ее таблиц. Естественно, что все они должны быть в cp1251;

Третье, это соединение с базой данных и возвращаем результат в нужной кодировке:

SET NAMES ‘cp1251’;
set character_set_client=‘cp1251’;
set character_set_results=‘cp1251’;
SET collation_connection = ‘cp1251’;

Ну и четвертое, если все проделанное выше не помогло, остается одно – настроить сервер на нужный лад. В настоящее время все сервера работают в UTF-8, для изменения кодировки придется лезть php.ini, httpd.conf сервера. Если никогда этого не делали, то и не стоить. Самое простое, что можно сделать, это создать в корне сайта файлик .htaccess и добавить следующие строки:

DefaultLanguage ru
AddDefaultCharset windows-1251
php_value default_charset “cp1251”

Теперь должно быть ок!

comments powered by HyperComments

Оставьте комментарий