Лечим кодировку при экспорте CSV в Redmine

redmineПоставил недавно последний Redmine 2.x. Обнаружилось что при экспорте в формат CSV неверно отображаются русские символы. Поэтому в нем хочу добавить простенькое решение. Итак, открываем файл ru.yml. У меня он находится по пути:

/usr/local/share/redmine/config/locales/ru.yml

Ищем строку с параметром general_csv_encoding и меняем значение с UTF-8 на WINDOWS-1251:

# Было
general_csv_encoding: UTF-8

# Стало
general_csv_encoding: WINDOWS-1251

Перезапускаем Redmine.

UPD От пользователя Bozo: «Экспорт в csv происходит нормально, но в utf без bom. А глупые мс-продукты при виде utf без bom сходят с ума. Так что нужно всего лишь добавлять bom к созданному csv-файлу. Это можно реализовать микро-плагином за 10 минут.»

Плагин от Bozo:

require_dependency ‘queries_helper’

module BOMFixQueriesHelperPatch
def self.included(base)
base.send(:include, InstanceMethods)

base.class_eval do
alias_method_chain :query_to_csv, :fixed_bom
end
end

module InstanceMethods

# adds bom symbols to utf-encoded csv file
def query_to_csv_with_fixed_bom *args
ret = query_to_csv_without_fixed_bom *args
if l(:general_csv_encoding) == ‘UTF-8′
ret = “\xef\xbb\xbf”+ret
end
ret
end

end
end
Рекомендуем почитать
Expected kind of OpenSSL::SSL::SSLContext в Redmine

При установке нового redmine 2.3.0 и дальнейшей его конфигурации возникает ошибка при отправке почты: (Expected kind of OpenSSL::SSL::SSLContext)) Лечится эта Читать дальше...

Получение почты и создание тикетов в Redmine

Появилась недавно небольшая задачка, которая позволяет создавать / отвечать на тикеты в Redmine через email. Получение почты можно организовать как Читать дальше...

Знаки вопроса в redmine

После установки свеженького redmine обнаружилась проблема с отображением русских символов. Вместо них были только знаки вопроса. Для решения данной проблемы Читать дальше...

Интеграция redmine с LDAP (Active Directory)

Процесс интеграции redmine с LDAP довольно прост. Состоит он из 2 этапов. Для начала создайте пользователя в своем домене, например Читать дальше...

Поделиться

Оставить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *