CSV файлы из Excel в node_import

Главные вкладки

Аватар пользователя Anton L. Safin Anton L. Safin 21 декабря 2010 в 11:11

Пришла и моя очередь столкнуться с проблемой противостояния Windows и кодировки UTF-8.

Проблема известна многим, кто имел дело с модулем [module=node_import]. Суть в том, что файлы CSV, сохраняемые из Excel, имеют кодировку CP-1251 (Windows), а модуль работает с "кошерной" кодировкой UTF-8.

Собственно, совет о том, как грамотно обойти эту проблему, я нашел здесь.

Для тех, кто знает что такое patch "и с чем его едят", выкладываю файлик - решение проблемы (чуть измененный код с указанной выше страницы).

И еще - оформил issues на drupal.org. Гуру, посмотрите, все ли правильно - как-никак мой первый патч на "оргах": http://drupal.org/node/1004030

ВложениеРазмер
Файл node_import_cp1251.patch631 байт

Комментарии

Аватар пользователя vicshine vicshine 21 декабря 2010 в 11:35

"DennisVV" wrote:
а может проще открыть его в каком-нить Notepad++ и сохранить "UTF-8 без BOM"?

хотел предложить аналогичный способ Smile

Аватар пользователя Punk_UnDeaD Punk_UnDeaD 21 декабря 2010 в 11:43

"DennisVV" wrote:
а может проще открыть его в каком-нить Notepad++ и сохранить "UTF-8 без BOM"

проще

а ещё можно использовать нормальный инструмент, который сохраняет нормальный csv файл
OOO Calc

Аватар пользователя Anton L. Safin Anton L. Safin 25 декабря 2010 в 12:27

См. выше. Для этого нужно
1. Поставить клиенту OO
2. Объяснить, как с ним работать, и почему нужно открывать файл в OO, а не в привычном ему Excel

Теперь представьте, что эти пункты нужно проделать с клиентом, который боится лишний раз нажать "не ту кнопку".

Аватар пользователя Krotty@drupal.org Krotty@drupal.org 21 декабря 2010 в 12:24

Слишком простое решение. Если кодировка не utf8, то вы конвертируете строку из cp1251 в utf8. О существовании иных кодировок вы не подозреваете?
Как "quick & dirty" решение для своего сайта может быть и сгодится, но предлагать это в виде патча для модуля нельзя.

Аватар пользователя vicshine vicshine 26 декабря 2010 в 5:24

"Anton L. Safin" wrote:
2. Объяснить, как с ним работать, и почему нужно открывать файл в OO, а не в привычном ему Excel

из личного опыта: не сказав никому, переставил всему своему офису вместо MS Office 2003 -> OO.org Smile многие даже не заметили подмены! просто весь день спрашивали: "а что это за окошечко белое выскакивает с надписью OpenOffice.org, когда ворд и эксель загружаю??" ^)^

хотя у меня, уж поверьте, такие боязливые юзвери, что аж противно ;))

Аватар пользователя Anton L. Safin Anton L. Safin 9 января 2011 в 12:04

"vicshine" wrote:
не сказав никому, переставил всему своему офису вместо MS Office 2003 -> OO.org

Ключевое слово - СВОЕМУ офису. Как часто вы делаете сайты исключительно для своей компании? Wink

Аватар пользователя vicshine vicshine 9 января 2011 в 13:03

"Anton L. Safin" wrote:
Ключевое слово - СВОЕМУ офису. Как часто вы делаете сайты исключительно для своей компании? ;)

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

Аватар пользователя Punk_UnDeaD Punk_UnDeaD 10 января 2011 в 12:03

"Anton L. Safin" wrote:
Ключевое слово - СВОЕМУ офису. Как часто вы делаете сайты исключительно для своей компании? ;)

импорт - это операция не для секретарш

но, думаю, даже секретарша способна понять, что картинки из фотошопа для сайта надо не в PSD сохранять

Аватар пользователя Cozmi Cozmi 14 января 2011 в 12:56

Anton L. Safin

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

Аватар пользователя Anton L. Safin Anton L. Safin 19 января 2011 в 18:52

Cozmi wrote:
Anton L. Safin

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

Нет, конвертировать ничего не нужно - все должно работать. Посмотрите, правильно ли выставляете формат при сохранении в Excel.
По поводу символов-разделителей по умолчанию не экспериментировал, но может быть вам как-то поможет этот модуль: [module=ni_cron]