При збереженні та відтворенні на екрані літер, цифр, розділових знаків та інших текстових елементів операційна система комп'ютера використовує спеціальні таблиці. У них всі ці символи розміщені в строго визначеному порядку. Коли ви зберігаєте який-небудь документ, що містить текст, то в файл записуються не власними букви і цифри, а їх порядкові номери в цій таблиці. Коли ж ви відкриваєте такий документ, то відбувається зворотна операція - додаток читає з файлу номера символів і виводить на сторінці відповідні їм знаки з таблиці. Ці таблиці називають «наборами символів» (Character Set, скорочено CharSet) або «кодуваннями».

Таких таблиць існує досить багато - кілька десятків. Спочатку кожен конкуруючий виробник комп'ютерного програмного забезпечення створював свою власну таблицю символів, потім створювалися таблиці для різних національних алфавітів з обов'язковим включенням англійської, потім, у міру вдосконалення операційних систем, створювалися їх варіанти для нових можливостей і т.д. Якщо текст, записаний і збережений з використанням однієї такої таблиці потім відкрити з використанням іншого, то результатом і буде те саме, що ми називаємо словом «крякозябри» - номери символів залишаться колишніми, але знаки їм відповідні в цій таблиці буде зовсім іншими.

Вказівка кодування, яку комп'ютерне додаток повинен використовувати для відображення текстового вмісту файлу, записується в службове поле цього файлу. Якщо текст передається по мережах, то вказівка кодування відправляється в службовому полі переданого пакета інформації. У HTML-коді веб сторінок для зберігання назви використаної кодування призначений спеціальний тег. У листі електронної пошти кодування передається в службових полях разом з інформацією про відправника, одержувача і т.д. Якщо вказівка кодування будь-яким з перерахованих способів відсутня, то з крякозябри доведеться боротися вручну - спробуйте підібрати потрібне кодування засобами використовуваної програми. Така функція передбачена і в браузері, і в поштовому клієнті, а текстовий редактор (наприклад, Microsoft Word) сам намагається визначити правильне кодування за непрямими ознаками.

Здається, сьогодні нарешті створений стандарт таблиці символів, який задовольняє всіх - його назвали «Юнікод» (Unicode). Але перехід на нього ще тільки відбувається, тому з крякозябри доведеться стикатися ще кілька років.