Інструкція з переходу на UTF-8

Обчислювальна система кафедри перейшла на використання багатобайтового кодування UTF-8 для файлових систем та окружності користувача замість однобайтового кодування KOI8-R. У даній інструкції розглядаються типові проблеми, які могли виникнути у користувачів у зв'язку з даним переходом та пропонуються способи їх вирішення (зміни налаштувань, команди тощо).

Основні поняття

Юнікод, або Унікод (англ. Unicode™) - стандарт кодування символів, що дозволяє подати знаки практично всіх письмових мов.

UTF-8 (від англ. Unicode Transformation Format – формат перетворення Юнікоду) – кодування, що реалізує уявлення Юнікоду, сумісне з 8-бітним кодуванням тексту.

Важливо розуміти, що один символ кодування UTF-8 може бути представлений більш ніж одним байтом. З цим пов'язано, наприклад, те, що файл, що містить текст у кодуванні UTF-8 буде мати більший розмір у порівнянні з файлом, що містить той же текст у кодуванні KOI8-R.

Приклад: команда wc має -c ключ для підрахунку байтів і ключ -m для підрахунку символів.

Імена файлів

Імена файлів були перекодовані автоматично за допомогою утиліти convmv:

Кожному користувачеві, у домашньому каталозі якого утиліта convmv перейменувала хоча б один файл, був автоматично надісланий журнал перейменувань.

За потреби можна виконати зворотне перетворення:

Після перевірки виведення команди повторити ключем --notest. Ключ –r включає рекурсивний обхід каталогів.

Вміст файлів

Для того, щоб перетворити вміст файлів із кодування KOI8-R на кодування UTF-8 можна скористатися командою:

Для потокового перекодування використовується команда:

  1. Ввести комбінацію клавіш C-x RET c.
  2. Внизу екрана буде запрошено кодування, яке ви хочете застосувати для наступної команди.
  3. Введіть команду, яка буде виконана із застосуванням введеного на попередньому кроці кодування, наприклад:
  4. комбінацію клавіш для відкриття файлу: C-x C-f;
  5. комбінацію клавіш збереження файла: C-x C-s .

Програми

Текстовий термінал із Windows

Для коректного відображення українського тексту під час входу на сервери кафедри за допомогою термінального клієнта PuTTY потрібно вказати в налаштуваннях:

  • Розділ Window/Translation
  • Character set translation on recieved data: UTF-8

Текстовий термінал із Linux

Якщо системна локальнеUTF-8, необхідно запустити X-термінал з підтримкою UTF-8 і виконати вхід по ssh з нього.

Якщо системна локаль UTF-8, то ніяких додаткових дій робити не треба.

Якщо з якоїсь причини під час входу по ssh не встановилися правильно змінні оточення локалі (висновок команди locale не містить рядка LANG=ru_RU.UTF-8 ), необхідно виконати команду:

Для коректного відображення українських імен файлів:

  • Розділ Environment
  • UTF-8 відображення файлів: On

  • Після виконання перекодування вмісту tex-файлу (див. вміст файлів) необхідно змінити кодування в преамбулі:

  • Також необхідно підключити пакет ucs:
  • Для встановлення діакритичних знаків (наголосів) потрібно використовувати повну форму стандартного запису \', тобто:

Bib-файли, що містять опис літератури, зберігаються у кодуванні KOI8-R. Після виконання команди bibtex необхідно спочаткуперекодувати отриманий bbl-файл у кодування UTF-8 (див. вміст файлів), а потім виконувати трансляцію tex-файлів, що підключають цей список літератури.