Потрібно правильно розкодувати сигнали, які наш мозок отримує з навколишнього середовища. Простіше кажучи, варто правильно «налаштувати» свій погляд на життя. Ну, начебто не напівпорожній гаманець, а наполовину повний. Тобто, потрібно використовувати потрібне кодування. Для інтернету найчастіше правильною є кодування utf:

Трохи про кодуваннях

Напевно, не є секретом той факт, що основним типом вмісту у світовому веб-просторі є текст. Звичайно, зараз з цим твердженням можна посперечатися, але буквально якийсь десяток років тому це було так.

Але передача тексту в цифровому форматі відбувається зовсім інакше, ніж у нас на екрані. Для перекладу тексту в машинний код використовується двійкова система числення, що складається лише з 0 і 1.

Наступним етапом передачі тексту в віртуальному просторі є його відображення на клієнтських машинах за допомогою браузера, интерпретирующего html. Ось тут і починається найцікавіше, коли браузер клієнта і веб-сторінка містять у собі текстові дані в різних кодуваннях. Тоді користувач на своєму моніторі бачить не текст, а якісь незрозумілі (зчитуються) символи:

Кодування UTF – основний стандарт тексту в інтернеті

Найчастіше потрібно всього лише поміняти кодування веб-сторінки на кодування utf8. Адже вона є найбільш поширеною в усьому інтернеті.

Кодування UTF-8

Найбільш поширена серед стандартизованих і загальноприйнятих текстових кодувань. Розшифровується як «восьмибітний формат перетворення Юнікод» або «Unicode Transformation Format».

Стандарт був розроблений ще в 1992 році. В даний час він широко застосовується не лише у всесвітній павутині, але і на прикладному рівні (локальні машини та операційні системи). Основною перевагою кодування є її сумісність з ASCII:

Кодування UTF – основний стандарт тексту в інтернеті

ASCII (American standard code for information interchange») ще одна (але більш стара) кодування подання текстових даних. В її таблиці символів значення друкованих і недрукованих знаків задані за допомогою чисел в шістнадцятковій системі числення.

При використанні UTF-8 для передачі даних в форматі ASCII використовуються 7 перших бітів. Останній (восьмий) служить для виводу «сміття» (некоректно раскодированных даних). Що при використанні кодування для латинських символів істотно зменшує обсяг текстових даних.

Як уже говорилося, часто для коректного відображення тексту достатньо лише змінити кодування документа. Розглянемо, як це можна зробити в різних дисциплінах, які застосовуються для побудови веб-простору.

Як встановити кодування в HTML і PHP

Для установки utf 8 кодування html використовується спеціальний тег . Він об’єднує в собі у формі атрибутів значення метатегів.

Метатеги використовуються для передачі і зберігання інформації, призначеної для браузерів і пошукових систем. Одним з атрибутів тега є charset. Він служить для установки кодування веб-сторінки. Приклад використання:

Кодування UTF – основний стандарт тексту в інтернеті

Також можна встановити кодування деяких елементів сторінки. Наприклад, посиланням. Для цього також використовується атрибут charset, значенням якого виступає потрібна кодування:

list of publications

Крім цього можна присвоювати значення безпосередньо заголовків http, які передаються разом з відповіддю на запит від браузера до сервера. В такому випадку кодування сайту utf 8, передана через заголовок, буде домінуючою над значенням, заданим всередині веб-сторінки.

Багато сторінок ресурсів не є статичними, а динамічно створюються завдяки використанню серверних мов програмування. Найчастіше для побудови сайтів застосовують PHP. Тому важливо знати про його засоби, що дозволяють «на льоту» поміняти кодування генерується веб-сторінки.

Для установки і модифікації значень заголовка використовується функція header(). Її синтаксис:

void header ( string $string [, bool $replace = true [, int $http_response_code ]] )

Приклад запису:

header(‘Content-Type: text/html; charset= utf-8’);

Щоб коректно поставити в php кодування utf 8, виклик функції header() в коді повинен знаходитися вище всіх тегів html.

Глобальні налаштування кодування

Описані вище методи можуть використовуватися для окремих веб-сторінок або невеликих сайтів. Але що робити, якщо ви маєте справу з ресурсом, складається з декількох сотень сторінок і десятка розділів? Давайте розберемося, як встановити кодування utf 8 для всього сайту.

Для цього потрібно вносити зміни у файлі конфігурації ресурсу. Він носить назву .htaccess. Спочатку його потрібно відкрити в будь-якому текстовому редакторі, а потім додати туди рядок:

AddDefaultCharset UTF-8
Кодування UTF – основний стандарт тексту в інтернеті

У якості більш глобального способу зміни кодування варто розглянути приклад на основі будь-якого локального сервера. Для більшої наочності ми візьмемо Denwer, який досить широко поширений в наших краях.

Щоб змінити кодування всіх ресурсів, розміщених на нашому сервері Apache, потрібно відредагувати вміст конфігураційного файлу httpd.conf. Він знаходиться по дорозі:

usrlocalapacheconf

Як і в попередньому прикладі, в ньому потрібно замінити значення AddDefaultCharset на потрібне. У нашому випадку це utf-8:

Кодування UTF – основний стандарт тексту в інтернеті

Зміна кодування бази даних

Зміна кодування розглянемо на прикладі MySQL. Так як це одна з найбільш популярних і поширених СУБД, застосовуваних у сайтобудуванні. Всі зміни можна провести у файлі my.ini. У Денвері він знаходиться по дорозі:

usrlocalmysql-5.5

Тут потрібно змінити значення декількох полів на utf-8:

  • default-character-set;
  • character-set-server;
  • init-connect = «set names»;
  • default-character-set.

І потім додати рядок skip-character-set-client-handshake:

Кодування UTF – основний стандарт тексту в інтернеті

Подібні зміни можна внести не тільки для всіх баз даних на сервері, але і для окремо взятої в php бази mysql. Зробити це можна через користувальницький інтерфейс оболонки PHPMyAdmin.

Спочатку дізнаємося, які кодування встановлені за замовчуванням в нашій базі даних. Для цього вводимо запит SQL:

SHOW VARIABLES LIKE ‘char%’;

Ось яку відповідь ми повинні отримати:

Кодування UTF – основний стандарт тексту в інтернеті

Якщо які-небудь значення, нас не задовольняють, то потрібно їх змінити. Скористаємося для цього запитом до ядра сервера СУБД:

ALTER DATABASE `my_db1` DEFAULT CHARACTER SET utf8;

В результаті ми отримаємо нові значення змінних character_set_connection, character_set_results і character_set_client.

На жаль, не все так просто йде з зміною кодування в таблицях Excel. Для цього доведеться скористатися сторонньою програмою для перекодування файлів. Або обробити дані з допомогою громіздких функцій.

Ми розглянули всі основні способи зміни веб-документів на кодування utf. Сподіваємося, що цей матеріал допоможе вам не тільки вибрати правильне кодування тексту, але і «встановити» правильний погляд на життя.