Инструкция по переходу на 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 можно воспользоваться командой:
Для потокового перекодирования используется команда:
Редактор Emacs может автоматически распознать кодировку текста при открытии файла. Принудительно задать кодировку открытия или сохранения файла в редакторе Emacs можно следующим образом:
- Ввести комбинацию клавиш C-x RET c .
- Внизу экрана будет запрошена кодировка, которую вы хотите применить для следующей команды.
- Введите команду, которая будет выполнена с применением введенной на предыдущем шаге кодировки, например:
- комбинацию клавиш для открытия файла: C-x C-f ;
- комбинацию клавиш для сохранения файла: 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 ), то необходимо выполнить команду:
WinSCP
Для корректного отображения русских имен файлов:
- Раздел Environment
- UTF-8 encoding for filenames: On
- После выполнения перекодировки содержимого tex-файла (см. Содержимое файлов) необходимо сменить кодировку в преамбуле:
- Также необходимо подключить пакет ucs:
- Для установки диакритических знаков (ударений) нужно использовать полную форму стандартной записи \', т.е.:
Bibtex
Bib-файлы, содержащие описание литературы, хранятся в кодировке KOI8-R. После выполнения команды bibtex необходимо сначала перекодировать получившийся bbl-файл в кодировку UTF-8 (см. Содержимое файлов), а затем выполнять трансляцию tex-файлов, подключающих этот список литературы.
Как изменить кодировку файлов на UTF-8?
Вы каким-то образом смогли создать файлы в однобитной кодировке Windows-1251.
Гитхаб и другие программы отображают такие файлы как если бы они были созданы в однобитной же кодировке Latin-1 (ISO 8859-1). Сам VS покажет знаки вопроса вместо букв. Вам надо поправить исходники если хочется видеть комментарии везде.Вот скрипт PowerShell для пакетного перекодирования всех csx-файлов в папке проекта
Сохраните его например в файл с именем decode.ps1 и запустите из PS
Скрипт работает. Проверил на тестовом проекте.После изменения файлов гитхаб покажет русские буквы.
Сам справился. Я не сохранил, но вам советую комментарии сохранить куда-нибудь, далее я изменил язык системы на компьютере на UTF — 8. После чего все скрипты будут в этой кодировке, но русские комменты которые там были превратились в вопросы.
- Вконтакте
xXx_Unity_xXx, так это сразу и поняли, ха-ха.
И дали вам несколько способов как сделать их читабельными.Если изменить кодировку файлов, то гитхаб покажет русский текст.
- Вконтакте
Дмитрий, коменты на русском — зло.
Но можно сперва выделить все, Ctrl+X, поставить UTF-8 и Ctrl-V
Saboteur,
Еще большее зло комменты на мове или на пиндишеншлиш
Хотя если ты делаешь продукт на своем языке, для пользователей которые говорят на твоем языке и разработчиков которые тоже говорят на твоем языке. То логично сделать на твоем языке.
Система автогенерации хэлпа тебе скажет спасибо, как и все пользователи.Я вот бывает не вытягиваю перевод с русского на английский, реже не вытягиваю обратный процесс, и что сильно раздражает когда вижу гугл перевод что бы казаться «правильным»
Владимир Коротенко, Именно так. По крайней мере для локальных продуктов.
Для интернациональных команд — да, вероятно английский, но совсем норм — это много комментов на множестве языков, которыми владеют члены команды. В общем ровно как с вывесками в Канаде, где они как минимум на французском и английском языках. Или в Австрии с английским-французским-итальянским.Ну а понты с комментами на пиджине — в итоге приводят понтовщиков к Squirrel Institute ))))
Изменение кодировки на UTF-8 без BOM
В данной инструкции будет описано, как изменить кодировку файла в UTF-8 без ВОМ в программе Notepad++
Для этого Вам понадобится программа Notepad++, скачать ее можно с официального сайта
Шаг 1
Находим на компьютере нужный Вам файл, нажимаем на него правкой кнопкой мыши и выбираем Edit with Notepad++Шаг 2
Нажимаем на Кодировки, в навигационной панели и выбираем Преобразовать в UTF-8 без ВОМШаг 3
Сохраняем файл и закачиваем его через FTP на серверСменить кодировку файла на UTF-8 в Excel
Если при импорте контактов вы видите нечитаемые символы, как на скриншоте, это значит, что кодировка файла не подходит для импорта в Unisender. Файл нужно перекодировать в UTF-8. Далее мы расскажем, как это сделать в Excel.
Создаем и открываем новый Excel файл.
Переходим на вкладку «Данные», выбираем «Получение внешних данных», а далее — «Из текста».
В окне для импорта текстового файла выбираем файл с неверной кодировкой и нажимаем кнопку «Импорт».
Открывается мастер импорта текста.
С текущей кодировкой содержимое файла нечитабельное.В поле «Формат файла» перебираем кодировки, пока не найдём ту, в которой текст отображается правильно. Вариантов много, поэтому можно начать с форматов, которые начинаются со слова «Кириллица». Находим нужный формат, нажимаем «Далее».
Выбираем символы-разделители. В нашем случае это запятая.
Нажимаем «Далее» — «Готово» — «OK»
Так выглядит импортированный текст в Excel.
Теперь нажимаем «Файл» — «Сохранить как».
Выбираем место, где будет храниться файл. Вводим название файла, тип файла выбираем CSV, ниже нажимаем «Сервис» — «Параметры веб-документа».
Переходим на вкладку «Кодировка», выбираем «Юникод UTF-8» и нажимаем «OK».