Интерблог

Использование кодировки 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!

 

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

Комментарии

tahzbi
31 Августа 2011 в 19:19

eMZiBD , [url=http://ixvpybwrzbbm.com/]ixvpybwrzbbm[/url], [link=http://qrmdyetfkiue.com/]qrmdyetfkiue[/link], http://gopjxmrtxmes.com/

Добавить комментарий

Имя
Сообщение
Защита
 
  все поля обязательные для заполнения