Решил cоставить небольшую заметку на возможную проблему при вызове сниппетов в MODx или других элементов.
Большое количество дополнений с официального сайта MODx разработаны для кодировки UTF-8. При работе этих дополнений с кириллическим текстом могут возникнуть проблемы с кракозябрами кодировкой. у меня данная проблема возникла при трансформации файла каталога в формате CSV в HTML код. Наименования на латинице выводились правильно, а вот отечественные слова в виде кракозябр.
Методом "научного тыка" с помощью браузера выяснил, что кракозябры выводятся в нормальном виде в кодировке Windows-1251. Стоит отметить, что просто сохранить файл из MS Excel в формате UTF-8 не получится.
Некоторые реккомендуют открыть файл через стандартный Блокнот и пересохранить в кодировке UTF-8. Но каждый раз делать эту операцию при обновлении не хотелось. Поэтому решено было поправить немножко код сниппета.
Повторюсь, я рассматриваю решение на примере сниппета CSV2HTML (скачать сниппет CSV2HTML с официального сайта MODx), который преобразует файл (каталог товаров) их формата CSV в HTML код.
Нашел в коде функции, которые отвечают за хранение данных из CSV и перевел их при помощи PHP функции ICONV в кодировку UTF-8.
Строчка исходного кода:
$values[] = $value;
Что получилось:
$values[] = iconv('CP1251', 'UTF-8', $value);
В итоге все данные из CSV отображаются в формате HTML в кодировке UTF-8 при выводе на страницу MODx.