Обратились с просьбой решить проблему с кодировкой при импорте и экспорте в excel (*.csv).
Нашёл в сети, что нужно исправить несколько строк в файле \modules\Reports\CreateXL.php, но ничего не изменилось, поэтому пришлось копаться самому.
Всё оказалось не очень сложно. Идём в \include\utils\export.php и в функции export() меняем echo $header; на echo iconv(‘UTF-8′,’windows-1251′,$header);, а echo $line; на echo iconv(‘UTF-8′,’windows-1251′,$line);.
Кодировка пофикшена, однако все данные экспортируются в первую клетку. Меняю в строках
$header = implode("\",\"",array_values($translated_fields_array)); $line = implode("\",\"",$new_arr); $column_list = implode(",",array_values($fields_array));
запятую («\»,\»») на точку с запятой («\»;\»»).
Починить импорт оказалось ещё проще – в файле \Smarty\templates\ImportStep1.tpl добавляем под строкой <select name=»format» class=»small»> строку <option value=»WINDOWS-1251″>WINDOWS-1251</option>. Ну и чтобы немного людям сэкономить время поменял местами <option value=»;»>;</option> и <option value=»,»>,</option> (поставив код с точкой с запятой повыше) после строки <select name=»delimiter» class=»small» style=»font-family:Times;»>, чтобы каждый раз не меняли вручную.
Сделал как написано но кодировка не фиксится, использовал SalesPlatform vtigerCRM 5.4
klistrod, у меня в последнем параграфе кавычки все стали ёлочками, может из-за этого. Там по идее должно быть всё интуитивно понятно и не очень сложно.