:: Меню ::

Головна
Введення
Знайомство з Homesite
Розробка структури сайту
Основні інструменти
Розробка сторінок публікації
Розробка навігаційної схемі сайту
Створення інтерактивних сторінок
Тестування сайту і завантаження на відаленій сервер
   
Добавити у вибране

:: Друзі ::

Каталог україномовних сайтів
 

:: Лічильники ::

=
- -
 

 

 

 

 

 

Управління кодуванням текстових файлів

Аби забезпечити можливість взаємодії різних апаратно-програмних платформ, SGML вимагає, аби кожне застосування (включаючи HTML) явним чином вказувало використовуваний в нім набір символів документа -document character set. Будь-який набір символів характеризується двома складовими: репертуаром (Repertoire) і способом кодування позиції (Code positions).

Репертуар - це набір абстрактних символів, використовуваних для запису слів і виразів на відповідній мові (наприклад, в pcncpiyap можуть входити латинський символ «А», кирилічний символ «И», китайський ієрогліф, що означає «воду», і т. д.).

Спосіб кодування позиції -- це набір цілочисельних заслань на символи, що входять в репертуар. Наприклад, комп'ютерні системи пізнають кожен символ за його числовим кодом; так, в наборі символів ASCII коди 65. 66, і 67 посилаються на символи "А", "В" і "С" відповідно.

В даний час існує чимале число різних способів кодування текстової інформації. Деякі з них виникли значно раніше за Інтернет, були стандартізовани і продовжують використовуватися в локальних обчислювальних системах. Інші ж були розроблені спеціально для обміну даними через Мережу.

Найбільш відомим представником першої групи є код ASCII (American Standard Code for Information Interchange - - стандартний американський код для обміну інформацією). У нім для кодування кожного символу використовується 7 двійкових розрядів. Набор символів ASCII забезпечує виставу всього лише 127 різних символів (близько 30 службових, десяткові цифри, букви англійського алфавіту і символи пунктуації). Модифікацією коди ASCII є так званий ANSI-код (код, розроблений Американським національним інститутом стандартів, - - American National Standard Institute), в якому для кодування кожного символу використовується 8 двійкових розрядів, що забезпечує виставу вже 256 символів. Особливістю ANSI-кода є те, що перші 127 символів він «успадкував» від ASCII (оскільки вони стандартізовани), а друга половина коди (точніше, половина відповідної кодової таблиці) використовується в різних країнах і різними розробниками по-своєму. Наприклад, в СРСР ця частина кодової таблиці була використана для кодування символів кирилиці.

На сьогоднішній день найбільш поширеним варіантом ANSI-кода (у тому числі в Інтернеті) є так звана «Латиниця» (Latin-1) - код, регламентований міжнародним стандартом Iso-8859-1. Цей код підтримує практично всі західноєвропейські мови. Окрім нього, в Мережі (принаймні, в російськомовній її частині) також досить широкий застосовуються наступні ANSI-коды:

  • Iso-8859-5 - - містить символи кирилиці і застосовується в обчислювальних системах, що працюють під управлінням операційних систем Unix і Sun Solaris;
  • Windows-1251 - - містить символи кирилиці і застосовується в обчислювальних системах, що працюють під управлінням операційних систем сімейства Windows.

Коди ASCII і ANSI частенько виявляються недостатні для глобальної інформаційної системи типа Інтернету, оскільки жоден з них не володіє необхідною «багатомовністю». Тому HTML використовує досконаліший набір символів, який називається «Універсальний набір символів» (Universal Character Set - UCS). Параметри цього, коди визначені в стандарті Iso-10646. Він забезпечує використання набору з декількох тисяч символів, що дозволяють представити символи, використовувані практично у всіх мовах (у тому числі і в професійних, наприклад, в математиці). Така кількість прсдставімих символів пояснюється тим, що код UCS є двобайтовим, тобто для кодування символів в нім використовуються 16 розрядів.

Набор символів, визначений в Iso-10646, еквівалентний використовуваному в іншому двобайтовому коді - - Unicode. Обоє ці стандарту поповнюються час від часу новими символами, і відносно прийнятих змін слід консультуватися на відповідних інформаційних вузлах Мережі.

Величезна кількість символів, прсдставімих за допомогою двобайтових код, не дозволяє застосовувати для цих код простий алгоритм кодування, заснований на методиці «один байт-, - один символ». В деяких випадках з метою спрощення алгоритмів кодування і скорочення витрат часу і пам'яті на хропіння кодової таблиці замість повної версії коди UCS використовуються його підмножини. Одна з таких «часткових» код - - код Utf-8 (UCS Transformation Format), в якому число байтів, використовуваних для кодування символу, залежить від вигляду символу: для перших 256 символів використовується 1 байт, а для «старших» символів - - 2 банти.

Сам по собі набір символів документа не дозволяє засобам перегляду користувача (броузеру) правильно інтерпретувати документи HTML, оскільки вони зазвичай пересилаються по мережі у вигляді послідовності байтів. Відповідно, для пересилки документа має бути заздалегідь виконане перетворення його символів (character encoding).

Засоби розробки (наприклад, текстові редактори) можуть використовувати різні методи кодування документів HTML (тобто способи перетворення символів в послідовність байтів), і вибір методу в значній мірі залежить від угод, використовуваних системним програмним забезпеченням комп'ютера, на якому створювався документ. Крім того, не завжди для всіх символів документа застосовується один і той же спосіб кодування.

Через вказані причини броузер повинен знати конкретний чин кодування символів, який використовувався для перетворення послідовності символів документа в потік байтів.

Яким чином броузер може отримати зведення про використовуваний в документі спосіб кодування? Основних механізмів три:

  • вказівки від Wеb-сервсра, що виконує пересилку документа (відповідна інформація міститься в параметрі «charsct» поля «Content-type» заголовка HTTP-протокола);
  • тег <МЕТА> з атрибутом HTTP-EQUIV, що міститься в заголовку документа;
  • використання атрибуту CHARSET в теге <А> для елементів документа, що посилається на зовнішній ресурс.

Зауваження
Якщо жоден з цих механізмів не використовується, то броузер за умовчанням намагається інтерпретувати кодування документа як Iso-8859-1.

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

Як було сказано в попередньому підрозділі, за умовчанням Homesite використовує для кодування створюваних з його допомогою документів кодування ANSI, а саме код Iso-8859-1. Цей же код він використовує і для декодування документів, що відкриваються. Проте, у вікні Settings на вкладці File Settings користувач може вирішити використання не-ansi код, встановивши відповідний прапорець (див. мал. 1.39). В цьому випадку при відкритті будь-якого документа Homesite намагатиметься визначити використовуване в нім кодування. Для великих документів або при відкритті декількох файлів це може привести до уповільнення роботи, про що і попереджає Homesite (мал. 1.43).

Додатково користувач може вказати, що використовуваний код повинен відображуватися на етикетці відкритого документа (мал. 1.44).

Мал. 1.43. Попередження про можливе уповільнення роботи Homesite при дозволі використання не-ansi код

Дозвіл використовувати не-ansi коди наводить також до ряду інших наслідків.

Зокрема, користувач може змінити поточне кодування документа при його збереженні на диску. Тому в діалоговому вікні Save as стає доступний список, що розкривається Encoding (Кодування), який містить чотири варіанти (мал. 1.45):

  • ANSI;
  • Unicode;
  • Unicode Big Endian;
  • Utf-8.

Мал. 1.44. Представлення використовуваного кодування на етикетці документа

Мал. 1.45. Формат діалогового вікна Save as при використанні не-ansi код

Розташований праворуч від списку прапорець Check the document character set Перевіряти набір символів документа) дозволяє вказати, чи повинен Homesite при збереженні файлу з не-ansi кодуванням виконувати перевірку відповідності гго дійсного кодування (вказаною в теге <МЕТА> документа) тій, яка вибрана в списку. Якщо така перевірка виконується, і було виявлено невідповідність, на екран виводиться застережливе повідомлення (мал. 1.46). В цьому випадку можливі два коректні виходи з ситуації:

  • відмовитися від збереження з даним кодуванням;
  • після завершення операції збереження скоректувати значення атрибуту HTTP-EQUIV тега <МЕТА>.

Зауваження
Аналогічна перевірка виконується також для XML-документов Деякі параметри роботи Homesite, пов'язані з кодуванням документів, присутні ще на одній вкладці вікна Settings, яка відноситься безпосередньо до редактора коди і називається Editor (Редактор). Таких параметрів два: використовуваний шрифт і вживаний набір символів. Установка обох параметрів виконується за допомогою відповідних списків, що розкриваються, - Font (Шрифт) і Charset (Набор символів), мал. 1.47.

Мал. 1.46. Повідомлення, застережливе про невідповідність кодування документа його атрибутам

Мал. 1.47. Зміна набору символів документа

В деяких випадках (перш за все - - при конвертації «звичайних» текстових файлів в HTML-документы) можуть виникнути проблеми з перетворенням кирилічних символів. Пояснюється це тим, що при виконанні конвертації Homesite завжди використовує кодову таблицю Iso-8s59-1. В результаті такого перетворення окремі букви («д», «ц», «ь») представляються в документі своїми іменами, причому із західно європейським «акцентом». Наприклад букві «д» відповідає німецька буква «а умлаут» (тобто «а» з двома крапками вгорі). Імена символів починаються знаком амперсанда і закінчуються крапкою з комою. Зокрема, ім'я символу «а умлаут» виглядає так: &auml;. Приклад конвертованої сторінки з іменами символів замість їх зображень показаний на мал. 1.48.

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

Вказані проблеми дозволяє здолати спеціальна функція, яка є у складі Homesite. Вона називається Replace Extended Characters (Заміна розгорнутих символів).

Мал. 1.48. Приклад сторінки з іменами символів

Зауваження
Не слід плутати функцію Replace Extended Characters з функцією Extended Replace, яка входить також в меню Search, але призначена для виконання операції заміни текстових фрагментів (вона буде описана в розділі Пошук і заміна у файлах проекту глави Розробка структури сайту.

Функція Replace Extended Characters забезпечує заміну імен символів візуальним представленням цих символів, причому на основі системної кодової таблиці.

Аби виконати необхідне перетворення, необхідно:

  1. У меню Search (Пошук) вибрати команду Replace Extended Characters...
  2. У діалоговому вікні (мал. 1.49), що відкрилося, встановити другий перемикач -- Replace character entities with extended characters (Замінити символи розгорнутими символами) і клацнути на кнопці ОК.

Мал. 1.49. Діалогове вікно функції Replace Extended Characters

 

ебля в голову . Скидки, если к вам присоединятся бляди Питера. Бляди г Питера. . Купить диплом ВУЗа государственного образца купить интернет-магазин в аренду
Нам нужна ваша поддержка: Реклама алкоголя в метро!


:: Наша кнопка :: 

Отримати код:

Підтримайте наш сайт і розмістіть нашу кнопку на своєму ресурсі.


:: Реклама ::

> <+
<


:: Посилання ::

AsenKat - каталог сайт


 

 

 


Copyright © Asentli, 2009