Интерблог

Архив за Февраль 2011-го

Использование кодировки UTF-8
Автор: cyberacing. Опубликовано: 20 Февраля 2011

Не существует самого лучшего браузера, самого лучшего текстового редактора, самой лучшей операционной системы. А самая лучшая кодировка существует. Это UTF‑8. Главное ее преимущество заключается в том, что вы можете непосредственно включать в документ любые символы из всего набора Unicode. С UTF‑8 возникают проблемы на веб‑сервере? Здесь неприятность в том, что страница сделана в одной кодировке, а сервер в заголовках HTTP сообщает другую. Надо привести настройки сервера в соответствие с действительной кодировкой веб‑страниц. Чтобы PHP сайт правильно заработал с Юникодом необходимо сделать несколько операций. Для начала необходимо в секции <head> HTML-страницы прописать тег meta

<meta http-equiv="content-type" content="text/html; charset=utf-8">

Но несмотря на то, что с помощью тега meta указана верная кодировка, все браузеры по-прежнему упорно считают, что документ пришел в Windows-1251. Дело в том, что сервер отправляет кодировку в заголовке ответа. То есть сервер считает, что страница должна быть в кодировке Windows-1251, о чем говорит браузеру заголовком Content-type.

Content-type: text/html; charset=windows-1251

Для решения этой проблемы необходимо сделать одно из двух действий (а лучше сразу оба). Во-первых, написать в начале скрипта (перед выводом HTML) следующее:

<?php
header('Content-type: text/html; charset=utf-8');
?>

Во-вторых, указать в файле .htaccess нужную кодировку:

AddDefaultCharset utf-8

Для чего же тогда тег meta? Для статичных страничек HTML или же, если пользователь сохранит документ для автономной работы.

Но на сайте обычно используется еще и база данных. Для неё тоже хорошо бы использовать кодировку UTF-8, а то могут возникнуть сложности, и на экране будут ромбики с вопросами. Что нужно сделать для этого? Ну наверно стоит для самой базы, для всех таблиц в базе и для всех текстовых полей использовать кодировку utf8_unicode_ci. Но обычно этого недостаточно. Тогда в код сайта, после функций mysql_connect и mysql_select_db добавляем строчку:

mysql_query("SET NAMES utf8");

Теперь можно наслаждаться самой лучшей кодировкой UTF-8!

 

Метки: Кодинг

Популярные записи

Принцип неопределённости в РНР

Принцип неопределённости в MYSQL

Недолёт

А ещё AJAX нужен для...

Принцип неопределённости в PHP - праздник продолжается!

Эмуляция плавности в ActionScript.

Программная анимация в ActionScript

Анимация при наведении в ActionScript

Использование кодировки UTF-8

Буквицца

Архив записей  

2019

Янв  Фев  Мар  Апр  Май  Июн

2018

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2017

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2016

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2015

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2014

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2013

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2012

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2011

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2010

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек

2009

Янв  Фев  Мар  Апр  Май  Июн

Июл  Авг  Сен  Окт  Ноя  Дек