Всем привет. Возник вопрос, на который никак не могу найти ответа.
Сменили хостинг, все работает нормально, но вот такая незадача возникла при импорте вопросов из файла (GIFT)
База данных: utf8_general_ci
Как побороть?
Спасибо заранее.
Всем привет. Возник вопрос, на который никак не могу найти ответа.
Сменили хостинг, все работает нормально, но вот такая незадача возникла при импорте вопросов из файла (GIFT)
База данных: utf8_general_ci
Как побороть?
Спасибо заранее.
Скорее всего, файл GIFT был в другой кодировке (не в UTF-8 без BOM).
До переезда это никого не смущало, но я уже пробовал в различных кодировках это делать. Результат один и тот же.
Плюс ко всему после этого импорта самих вопросов в базе не остается. они создаются, но у них нет ни названия, ни содержания, ни вариантов ответа. Просто записи в базе. Без содержимого.
Кстати, беда коснулась только формата GIFT судя по всему. XML вошел как полагается.
На сколько мне известно, настройки кодировки, которые задаются на уровне веб-сервера, имеют более высокий приоритет, чем те, которые задаются на уровне Moodle.
Это подтверждается таким экспериментом. Берем один и тот же HTML-файл с картинками и текстом в кодировке windows-1251(в котором прописано charset=windows-1251) и загружаем его на три сайта Moodle. Результат: на одном сайте этот файл отображается прекрасно, на другом - как у вас: цифры отображаются, а вместо букв ????, а на третьем - абсолютно белый лист: ни букв, ни цифр, ни картинок.
Думаю, что эту проблему вам придется решать с вашим хостером. Но, на всякий случай, проверьте еще: не осталась ли в некоторых таблицах базы данных Moodle кодировка, отличная от UTF-8.
Проблему я уже нашел, перелопатив много всевозможных версий.
Оказывается, по какой-то неведомой мне причине, далеко не все файлы на сервере имеют кодировку UTF-8 без BOM. Все файлы в UTF-8 но не все без BOM.
Те, которые без BOM отображаются нормально и работают замечательно. Те, которые просто UFT-8 и отображаются косо, и работают так же криво. Для решения проблемы достаточно было только лишь пересохранить import.php в правильном виде.
Дело, судя по всему, в настройках хостинга. Теперь стоит вопрос: как бы пересохранить все файлы без BOM. Искать ручками неродивые файлики слишком муторно, жизни не хватит
В исходниках moodle все файлы без BOM. Берите файлы с официального источника и добавляйте свои изменения редактором, который не оставляет bom. Загружайте файлы zip-архивом, разархивируя на сервере.
Попробуйте сделать так: откройте Ваш txt файл в блокноте и сохраните его с кодировкой utf-8. После этого снова попробуйте импортировать.