UTF-8

UTF-8

от Ne Nashev -
Количество ответов: 10

А почему бы нам не сделать перевод в UTF-8 (http://www.linuxdoc.ru/manpages/man7/utf-8.7.html)?

Блокнот под NT впролне умеет сохранять русские тексты в этой кодировке... Moodle эту кодировку поддерживает, можно пересохранить все готовые php-шки с переводами в этой кодировке, и не иметь с кодировками проблем...

А то вон например тексты у графиков квадратиками пишутся (http://moodle.org/mod/forum/discuss.php?d=12736): рисовалка текста расчитана на UTF-8. Другие кодировки, вроде бы, в него должны конвертиться, но это завязано на функцию iconv, которая вроде бы опциональна...

В ответ на Ne Nashev

Re: UTF-8

от Ne Nashev -

Вот тут ещё про UTF-8 текстик... (взят с http://max-observer.chat.ru/utf-8.htm). Именно про представление русских букв. Для решения вопроса о создании UTF-8 версии перевода оно не существенно, но я думаю всё равно эти технологические подробности могут быть интересны не только мне.

В ответ на Ne Nashev

Re: UTF-8

от Ne Nashev -
Я разобрался со встроенными в Perl возможностямии перекодировок, и сделал себе программку, обрабатывающую все файлы в папке и её подпапках.

В ближайшие дни попробую перевести последнюю (из доступных для скачивания) версию перевода и поработать с ней. Результаты - выложу здесь и отчитаюсь.
В ответ на Ne Nashev

Re: UTF-8

от Ne Nashev -

Перевёл. В трёх файлах поменял упоминающуюся кодировку: в двух php-шках она была как значение переменной, и в faq.htm как кодировка документа. (Архив папки ru_utf8 в атачменте).

В файл moodle\lib\languages.php вписал строчку

"ru_utf8" => "Russian UTF-8",

Зашёл на сайт, думая - ну, сейчас у меня всё клёво будет.

И слегка обломался: Все русские надписи, не являющиеся частью интерфейса, а являющиеся данными - а это названия сервера, названия и всё содержимое курсов и информация про пользователей - остались в кодировке 1251. При отображении страниц как UTF-8 это либо приводит к отображению вместо них нечитаемых надписей, либо к полному отказу браузера отображать страницу. Местами - например, при редактировании информации о пользователе - это приводило к некорректной интерпретации страниц и отображению части тегов как текста в предыдущих полях ввода.

Сервер был инициализирован при выбранном языке ru, и созданный при этом  пользователь guest был обозван "Гостем" в кодировке windows-1251. Соответственно, таким и остался. В отличие от большинства других надписей-данных его имя и описание через интерфейс поменять невозможно. Менял в базе.

Это всё вполне исправимые ошибки. Во всяком случае, для сервера, который создаётся и заполняется с нуля - можно изначально работать в UTF-8 и этих проблем не знать. Новый курс, созданный при текущей кодировке UTF-8, вполне дальше в ней и отображался.

Из непоправимого - одна странность: ввести имя пользователю "Евгений Генрихович" у меня не получилось - ни через moodle, ни даже через phpMyAdmin. Оно каждый раз портилось после "Ге" - и портило следующие за его упоминанием части страниц...

Радует то, что графики результатов анкет, как я и ожидал, стали рисоваться с русскими буквами. Правда, нижнюю строку некоторых из них всё равно прочесть невозможно - описания колонок налазят друг на друга, и текст нижней строки нарисован получается в несколько слоёв.

Пог поводу перевода готовых курсов у меня есть идея - попробую конвертить курс через экспорт-импорт, потому что в экспортированном виде там явно не оригинальная кодировка используется.

В ответ на Ne Nashev

Re: UTF-8

от Ne Nashev -

Через buckup не прошло... При загрузке moodle показывал информацию в win-1251. То-есть я, переключая кодировку в браузере, читать мог либо название и описание курса, любо всё остальное, составляющее интерфейс.

В ответ на Ne Nashev

Re: UTF-8 - если б хранение данных в Unicode...

от Ne Nashev -

Если в настройках курса, сделанного под Windows-1251 сденлать принудительное использование языка ru, то независимо от желания пользователя видеть UTF-8 версию перевода, внутри курса он будет видеть ru-версию. Но снаружи, в списке курсов, где насильного переключения не делается, будет всё равно чёрти-что...

Вот если бы все данные курсов внутри сервера хранились бы в Unicode, и перекодировались бы в желаемую пользователем кодировку при выдаче, проблемы переноса курсов бы не было. Однако, сервер бы тормозил. Хотя, на этот случай ведь есть уже механизмы кеширования? Вон, результаты фильтрования страниц под глоссарий кешируются же, можно и переведённые в желаемую пользователем раскладку странички кешировать...

В ответ на Ne Nashev

Re: UTF-8 в глоссарии

от Ne Nashev -

Глоссарию не помогло. Во всяком случае, не до конца...

Статьи, начинающиеся с больших русских букв держаться вместе, в одной группке с заголовком "м/strong>". В отличие от начинающихся с латинских букв и цифр, помещающихся в отдельных группах этих букв. Мелкие - вперемешку с английскими. Группа руских заглавных (и прям вслед за ней - мелких , от а до п) размещается между латинскими D и E. Латинская A возглавляет весь список групп, и латинская Z весь список завершает.

В общем, фигня всё равно...

В ответ на Ne Nashev

Re: UTF-8: Перевод может помочь и в глоссарии

от Ne Nashev -